JMETER中的Groovy脚本

3
我尝试将 Groovy 2.4.3 添加到 JMeter 2.13 中。我将所有的 %groovy_home%/lib/.jars 放置在 %java_home%/lib/ext/groovy-lib/.jar 中。我在 jmeter.property 文件中添加了 classpath (search_paths=/lib/ext/groovy-lib) 。问题是,在启动 JMeter 后,我能够在 BSF 元素(断言、采样器等)中使用 Groovy,但是在 JSR223 元素(断言、采样器等)中没有显示 Groovy 脚本语言选项。
任何帮助都会很有价值,谢谢。

有关答案的任何反馈?如果回复有帮助,您应该点赞并接受。 - UBIK LOAD PACK
3个回答

6

将Groovy引擎简单易行地运行起来的方法如下:

  1. 从Maven下载最新版的groovy-all.jar
  2. 将其放到JMeter安装目录下的/lib文件夹中。/lib/ext文件夹实际上是为了JMeter核心和扩展而存在的)
  3. 如果JMeter正在运行,请重新启动(jar获取过程不是动态的,也适用于任何其他库,比如JMeter插件JUnit测试、user.properties文件更改等)
  4. 重启后,您应该看到Groovy与.jar版本一起显示在括号中

4
你必须使用user.classpath和groovy-all-xxx.jar。
JMeter将搜索实用程序和插件依赖类的路径列表。使用平台路径分隔符(根据系统属性"path.separator")来分隔多个路径。路径项可以是jar文件或目录。此类目录中的任何jar文件都将自动包含在内,子目录中的jar文件将被忽略。给定的值除了lib目录中找到的任何jar文件外,还将添加到系统类加载器的类路径和JMeter内部加载器的路径中。带有空格的路径可能会导致JVM出现问题。
因此,应该是: user.classpath=/lib/ext/groovy-lib/groovy-all-xxx.jar

0
您也可以将实用程序Jar文件安装在$JAVA_HOME/jre/lib/ext中,或者您可以在jmeter.properties中设置user.classpath属性。
请注意,设置CLASSPATH环境变量将没有任何效果。这是因为JMeter是以“java -jar”启动的,而java命令默默地忽略了CLASSPATH变量和-classpath/-cp选项,当使用-jar时[这对所有Java程序都发生了,而不仅仅是JMeter]。
根据this,但对我来说,这让魔法发生了: 只需编辑jmeter.properties中的user.classpath属性即可。

user.classpath="YOUR-GROOVY-HOME-DIR"/lib

令人惊讶的是,使用 $GROOVY_HOME 并没有起作用,我不得不提到 groovy 的主目录路径,而不是引用系统环境变量。正如 @ubik-load-pack 所提到的,如果您需要将更多项添加到此属性中,请使用操作系统类路径分隔符字符(Linux=":", Windows=";")


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接