将类自动导入到SoapUI项目的每个groovy脚本中

时间:2016-01-14 23:24:38

标签: groovy soapui

我有一个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设置 的环境中。

我想做的是什么?

1 个答案:

答案 0 :(得分:0)

我知道您完全了解外部库的编写方式,编译,构建jar文件并置于SoapUI Pro下,同样是SoapUI Open Source版本的程序。

我也了解您也知道如何在java中对其进行编码,并了解package更好地组织class文件,以及由谁(个人)传达或者一个组织)图书馆的创建和标准实践。但这可以是可选的。

  

但是,我希望能够在没有import语句的情况下编写该脚本。有没有办法设置我的SoapUI项目来自动将这个类导入到我的所有Groovy脚本中?

正如您在问题中提到的那样,为了避免import中的Groovy Scripts,请使用其中一个:

  1. 不要对库类使用任何package,并重新编译,构建jar并放在 soapUI 下,然后重新启动才能生效。然后你应该可以致电ContextProperties.increment(context, "messageId")
  2. 使用完全限定的类,不需要像import
  3. 这样的明确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 等。

    听起来不错吗?