当前位置: 首页 > 面试题库 >

使用Maven的Jmeter并使用Groovy导入使用外部Groovy脚本问题

贺劲
2023-03-14
问题内容

我想使用groovy脚本从Maven执行jmeter测试,但出现以下错误。为了设置jmeter和maven,我做了这里描述的操作。

我是否应该将groovy函数和实体打包到jar中,然后复制到jmeter的lib目录中,然后仅将那些groovy脚本放在包含采样器代码的jmx文件旁边?

2019-06-22 17:40:17,714 INFO o.a.j.s.SampleResult: sampleresult.useNanoTime=true
2019-06-22 17:40:17,714 INFO o.a.j.s.SampleResult: sampleresult.nanoThreadSleep=5000
2019-06-22 17:40:17,744 ERROR o.a.j.p.j.s.JSR223Sampler: Problem in JSR223 script CreateUsers, message: javax.script.ScriptException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script4.groovy: 4: unable to resolve class com.google.gson.Gson
 @ line 4, column 1.
   import com.google.gson.Gson;
   ^

问题答案:

我找到了答案:

  • 我需要将要在测试中使用的库打包到jar中,并将其放入jmeter/lib目录中
  • 我必须对齐Sampler脚本路径,所以jmeter可以使用它们

jmeter-maven-plugin文档中的第一个解决方案如下:

<project>
    [...]
        <build>
            <plugins>
                <plugin>
                    <groupId>com.lazerycode.jmeter</groupId>
                    <artifactId>jmeter-maven-plugin</artifactId>
                    <version>USE LAST VERSION</version>
                    <executions>
                        <execution>
                            <id>jmeter-tests</id>
                            <goals>
                                <goal>jmeter</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <testPlanLibraries>
                             <artifact>org.apache.activemq:activemq-spring:5.15.2</artifact>
                 <artifact>org.apache.activemq:activemq-client:5.15.2</artifact>
                 <artifact>org.apache.activemq:activemq-broker:5.15.2</artifact>
                </testPlanLibraries>
                        <excludedArtifacts>
                             <exclusion>com.sun.jdmk:jmxtools</exclusion>
                             <exclusion>com.sun.jmx:jmxri</exclusion>
            </excludedArtifacts>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    [...]
</project>

第二种解决方案是我需要在jmx文件旁边复制Sampler脚本。Maven可以使用maven-resource-
plugin
轻松地做到这一点。



 类似资料:
  • 我正在尝试使用Groovy将蓝图页面推出到特定的实时副本页面。以下脚本在AEM 6.5中工作,但它会推出到所有实时副本。它忽略“目标”。 如何将部署限制在target_path变量中指定的页面?

  • 在JMeter中,我想使用客户端证书,而无需转换证书的所有开销,并且不要忘记在JMeter重启后单击SSL管理菜单。 我希望能够灵活地在需要的地方使用不同的证书。 这里的Java解决方案看起来非常有前途。我尝试在Groovy中使用JSR223预处理器。第一行失败。它无法导入标准Java类。 使用标准Java类需要做什么? 整个想法是基于SoapUI中使用的解决方案。 像这样的东西在JMeter中工

  • 我想在詹金斯中强制执行以下场景: 我有工作A和工作B 我想在执行作业B时禁用作业A,在执行作业B后,我想再次启用作业A。 为了启用/禁用作业A,我使用了Groovy插件:Groovy插件 Groovy插件提供了两种可能性:执行Groovy脚本和执行系统Groovy脚本。 在开始执行作业B时,我添加了以下代码片段: 执行工作B后: 当我运行作业B时,它失败了,出现以下异常: 当我运行作业B时,它失败

  • 我希望能够通过java类使用Jenkins插件的方法 只是为了指出我不是一个开发者或一个时髦的/java专家——很高兴学习! 我的方法所属的java类是 从这里我想使用方法 我所做的是设置导入并定义对类的新调用: 当我运行此命令时,会出现以下错误: 我已经搜索了上面的错误

  • 我有一个文件夹结构如下 当我运行命令时。它只运行Java单元测试(位于*src\test\Java*目录下),而不调用Groovy测试用例。Groovy似乎再也找不到Groovy测试了。 请帮助我在Maven的帮助下启用groovy测试用例执行? 波姆。xml

  • 我正在Jenkins文件中运行以下groovy脚本,该文件在构建期间执行: 上述参数值代码的预期结果等于: 是: 但是,在Jenkins上执行此代码时,我收到一个奇怪的错误,我无法理解(为什么会发生): hudson.remoting.ProxyExc0019:org.codehaus.groovy.runtime.typehandling.GroovyCastExc0019:无法将对象'Samp