当前位置: 首页 > 知识库问答 >
问题:

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

孟跃
2023-03-14

我有一个SoapUI项目和一个外部自定义Java实用程序库,这些实用程序库是我为在Groovy脚本中使用而编写的。

在Java库中,我有一个特定的实用程序类com.custom.acmeproject.ContextProperties,它具有用于在groovy脚本上下文中更改属性值的实用程序方法。使用此类,我可以在groovy脚本文件中执行以下操作:

import com.custom.acmeproject.ContextProperties;

ContextProperties.increment(context, "messageId");

>

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

    我希望能够仅为这个SoapUI项目执行此操作,而不会影响其他SoapUI项目;但是,如果这不可能,我将采用会影响我所有项目的解决方案。

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

    最好是,任何解决方案也可以工作,而不必跨多个环境在SoapUI之外手动配置Groovy设置。

    我想做的事可能吗?

  • 共有1个答案

    商畅
    2023-03-14

    我知道您完全了解外部库是如何编写、编译、构建jar文件并放置在SoapUI Pro下的,SoapUI Open Source版本的过程也是如此。

    我还了解到,您还知道如何在java中对其进行编码,并了解如何更好地组织类文件,以及如何传达创建库的人(个人或组织)和标准实践。但这是可选的。

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

    因此,正如您在问题中提到的,为了避免Groovy Script中的导入,请使用其中一个打击:

    1. 不要对库类使用任何包,重新编译、构建jar并放置在soapUI下,然后重新启动以生效。然后您应该能够调用ContextProperties。增量(上下文,“messageId”)
    2. 使用完全限定类,该类不需要像com那样显式导入。风俗acmeproject。ContextProperties。增量(上下文,“messageId”)

    我希望能够仅为这个SoapUI项目执行此操作,而不会影响其他SoapUI项目;但是,如果这不可能,我将采用会影响我所有项目的解决方案。

    这些库被加载到SoapUI中,并且不特定/仅限于一个项目,适用于所有项目。但我相信,除非这些在多个项目中使用并且不根据更新进行更改,否则不会有效果。否则,应该可以。

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

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

    最好是,任何解决方案也可以工作,而不必在SoapUI之外跨多个环境手动配置Groovy设置。

    您觉得配置Groovy设置有什么变化?没有这样的东西。如果您发现有,只需更新它。如果SoapUI项目在具有Groovy脚本的工具中运行顺利,那么它应该可以从所有渠道顺利运行,即运行命令行、使用ant、maven、jenkins等。

    听起来不错吗?

     类似资料:
    • 我在从groovy脚本(groovy脚本是SoapUI测试套件的一部分)运行java代码时遇到了问题,我创建了简单的脚本: TopClass的代码: 我将myjar.jar放入soapui-pro-2.5\lib和soapui-pro-2.5\bin\ext文件夹中。但行书我得到: org.codehaus.groovy.control.multipleCompilationerrorsExcep

    • 当我尝试在soapUI测试步骤中解析响应时,收到了以下异常。也尝试了getXMLHolder方法。还是没运气。 答复如下

    • 在我的Jenkins构建中,我有一个Groovy脚本(因为我使用的是管道插件),在这个脚本中,我试图使用OkHttpClient进行API调用。 我从这里获得了以下葡萄代码: 为此,我得到: 知道有什么问题吗? 在Jenkins管道脚本中运行时,Grape不能检索包吗?

    • 我试图使用groovy脚本创建Soapui项目。当直接从SoapUI运行它时,脚本工作正常,并且创建了使用WSDL的新项目。 该脚本是在:Project->TestSuite->TestCase->Groovy脚本中创建的 脚本在中正常工作。但是,在使用运行时失败,如下所示: 错误:java.lang.NullPointerException:无法对空对象调用方法createProject()