JMETER中的Groovy脚本

时间:2015-05-23 12:31:53

标签: groovy jmeter beanshell jsr223

我试图将groovy(Groovy 2.4.3)添加到JMeter 2.13。

我将所有%groovy_home%/ lib / .jars放在%java_home%/ lib / ext / groovy-lib / .jar

我在jmeter.property文件中添加了类路径(search_paths = / lib / ext / groovy-lib)

问题是在启动JMeter之后,我能够在BSF元素(断言,采样器等)中使用Groovy,但JSR223元素(断言,采样器等)没有显示Groovy脚本语言选项。

BSF Showing Groovy

JSR223 Missing Groovy

任何帮助都是有价值的 感谢

3 个答案:

答案 0 :(得分:6)

让groovy引擎启动并运行的最简单,最简单的方法是:

  1. 下载latest version of groovy-all.jar from Maven
  2. 将其放到JMeter安装的/ lib文件夹中。 / lib / ext文件夹实际上是用于JMeter核心和扩展)
  3. 重启JMeter如果它正在运行(jar拾取过程不是动态的,它也适用于任何其他库,如Jmeter PluginsJUnit tests,user.properties文件更改等。)
  4. 重新启动后,您应该看到groovy以及括号中的.jar版本

答案 1 :(得分:4)

您必须使用user.classpath和groovy-all-xxx.jar

  

JMeter将搜索实用程序和插件依赖项类的路径列表。    使用平台路径分隔符(根据系统属性“ path.separator ”)分隔多个路径。    路径项可以是jar文件或目录。    将自动包含此类目录中的任何jar文件,    子目录中的jar文件将被忽略。    给定的值是lib目录中找到的任何jar的补充。    所有条目都将添加到系统类加载器的类路径中    以及JMeter内部装载器的路径。    带空格的路径可能会导致JVM出现问题

所以它应该是:

  

user.classpath = / lib / ext目录/常规-LIB / Groovy的全xxx.jar

答案 2 :(得分:0)

  

您也可以在$ JAVA_HOME / jre / lib / ext中安装实用程序Jar文件,或者您可以在jmeter.properties中设置属性user.classpath

     

请注意,设置CLASSPATH环境变量将不起作用。这是因为JMeter以“java -jar”启动,并且java命令以静默方式忽略CLASSPATH变量,并在使用-jar时忽略-classpath / -cp选项。 [这适用于所有Java程序,而不仅仅是JMeter。]

根据this,但对我来说这是神奇的: 只需在jmeter.properties中编辑user.classpath属性。

  

user.classpath = “YOUR-Groovy的HOME-DIR”/ lib中

令人惊讶的是,使用$ GROOVY_HOME不起作用,我不得不提到groovy主路径而不是引用系统环境变量,如果你需要更多项目添加到此属性,请提及@ubik-load-pack,使用你的操作系统类路径分隔符(Linux =“:”,Windows =“;”)