我有一个SoapUI项目,以及我为在Groovy脚本中使用而编写的实用方法的外部自定义Java库 .
在Java库中,我有一个特定的实用程序类 com.custom.acmeproject.ContextProperties
,它具有用于在groovy脚本的上下文中更改属性值的实用程序方法 . 使用这个类,我可以在一个groovy脚本文件中执行以下操作:
import com.custom.acmeproject.ContextProperties;
ContextProperties.increment(context, "messageId");
- 但是,我希望能够在没有import语句的情况下编写该脚本 . 有没有办法设置我的SoapUI项目来自动将这个类导入到我的所有Groovy脚本中?
我更愿意只为这个SoapUI项目做这个,而不影响其他SoapUI项目;但是,如果这是不可能的,我会采取一个会影响我所有项目的解决方案 .
-
因为这个SoapUI项目是使用maven构建运行自动化的
詹金斯,我需要这个解决方案来运行测试
SoapUI IDE(我正在使用SoapUI NG Pro),以及运行测试
使用soapui-pro-maven-plugin
. -
最好,任何解决方案也应该不必工作
在多个环境中手动配置SoapUI外部的Groovy设置 .
我想做什么?
1 回答
我知道你完全知道如何编写外部库,编译,构建jar文件并放在
SoapUI Pro
下,同样也是SoapUI Open Source
版本的程序 .我也明白你也知道如何在
java
中编码,并且知道package
用于更好地组织class
文件,以及由谁(个人或组织)传达图书馆的创建和标准做法 . 但这可以是可选的 .正如你在问题中提到的,为了避免
Groovy Scripts
中的import
,使用其中一个打击:不要对库类使用任何
package
,并重新编译,构建jar并放在soapUI下,然后重新启动才能生效 . 那么你应该可以调用ContextProperties.increment(context, "messageId")
使用完全限定的类,不需要显式
import
,如com.custom.acmeproject.ContextProperties.increment(context, "messageId")
这些库被加载到
SoapUI
中,这不是特定/限于项目,适用于所有项目 . 但我相信,除非在多个项目中使用并且不根据更新进行更改,否则不会产生影响 . 否则,它应该没问题 .是的,如果将库文件放在所需位置,它的工作方式相同 . 您是否尝试过这样做并发现任何问题?
你对
configure Groovy settings
有什么改变?没有任何类似的东西 . 如果您发现,请更新它 . 如果 SoapUI project 在具有Groovy
脚本的工具中运行平稳,那么同样应该从所有 channels ,即 running command line, using ant, maven, jenkins 等顺利运行 .听起来不错吗?