如何在JMeter中声明通用方法,以便在多个线程中使用脚本



我在JMeter中使用selenium,并在groovy中编写了许多方法。但是挑战我面临的是,在每个采样器中,我必须定义所有创建的方法。我们有什么办法吗调用从公共位置创建的方法,并在Jmeter中的任何采样器中的任何位置使用它?

JMeter专用解决方案将放置您的";普通的";函数转换为独立的JSR223采样器,这些采样器位于测试片段下,并在需要时使用模块控制器调用它们

对于";经典的";重新使用代码的方式:

  1. 编译Groovy"普通的";jar库中的代码
  2. 将库放在JMeter Classpath中的某个位置
  3. 重新启动JMeter以获取带有公共函数的.jar文件
  4. 享受

更多信息:如何使用JAR文件重用JMeter代码并节省时间

要在中心位置创建可以重用的方法:

在使用groovy的JSR223采样器集合中,创建可重用函数,例如以下函数:

String logCommon() {
String threadNumber = ctx.getThreadNum().toString();
return "Thread #: " + threadNumber;
}
props.put('logging_common', this.&logCommon); 

然后稍后用groovy再次创建一个JSR223采样器,并调用函数:

String logCommon = props.get('logging_common')();
log.info(logCommon);

这种模式有助于集中代码。

注意,采样器可以位于不同的线程组中,因为函数存储为属性(使用"props"(。如果函数存储为一个变量(而不是"vars"(,那么两个采样器都需要在同一个线程组中。

最新更新