首页 文章

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

提问于
浏览
1

我有一个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 回答

  • 0

    我知道你完全知道如何编写外部库,编译,构建jar文件并放在 SoapUI Pro 下,同样也是 SoapUI Open Source 版本的程序 .

    我也明白你也知道如何在 java 中编码,并且知道 package 用于更好地组织 class 文件,以及由谁(个人或组织)传达图书馆的创建和标准做法 . 但这可以是可选的 .

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

    正如你在问题中提到的,为了避免 Groovy Scripts 中的 import ,使用其中一个打击:

    • 不要对库类使用任何 package ,并重新编译,构建jar并放在soapUI下,然后重新启动才能生效 . 那么你应该可以调用 ContextProperties.increment(context, "messageId")

    • 使用完全限定的类,不需要显式 import ,如 com.custom.acmeproject.ContextProperties.increment(context, "messageId")

    我希望能够为这一个SoapUI项目做到这一点,而不会影响其他SoapUI项目;但是,如果这是不可能的,我会采取一个会影响我所有项目的解决方案 .

    这些库被加载到 SoapUI 中,这不是特定/限于项目,适用于所有项目 . 但我相信,除非在多个项目中使用并且不根据更新进行更改,否则不会产生影响 . 否则,它应该没问题 .

    因为这个SoapUI项目是使用Jenkins中的maven构建运行自动化的,所以我需要这个解决方案来同时运行SoapUI IDE中的测试(我正在使用SoapUI NG Pro),以及使用soapui-pro运行测试-maven的插件 .

    是的,如果将库文件放在所需位置,它的工作方式相同 . 您是否尝试过这样做并发现任何问题?

    优选地,任何解决方案也应该工作,而不必在多个环境中手动配置SoapUI之外的Groovy设置 .

    你对 configure Groovy settings 有什么改变?没有任何类似的东西 . 如果您发现,请更新它 . 如果 SoapUI project 在具有 Groovy 脚本的工具中运行平稳,那么同样应该从所有 channels ,即 running command line, using ant, maven, jenkins 等顺利运行 .

    听起来不错吗?

相关问题