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