JMeter-如何在多个独立的测试计划之间共享groovy脚本

问题描述 投票:0回答:3

我有一堆常见的常规函数,我在不同的“测试计划”中重复使用它们。我想将它们保存在单独的脚本文件中。我不想创建罐子。如何以最小的模糊性将这些文件导入 JMeter JSR223 断言、预处理器和后处理器中?这些或多或少是模块化功能,出于显而易见的原因,我希望将它们分开。

我尝试使用 JSR223 的“脚本文件”部分。但似乎只是为了覆盖脚本。

如何在 JSR 223 断言/预处理器/后处理器中使用外部 groovy 脚本文件?

groovy jmeter jsr223
3个回答
4
投票

如果您有一堆想要在不同的 jsr223 元素中重复使用的函数,您可以:

  1. 在您的测试计划中创建一个初始 JSR223 预处理器(或采样器)并定义您的函数:
    def sum(Integer a, Integer b) {
        return a + b
    }

    def isA(Integer x, Integer y) {
    }

    def isB(Integer x, Integer y) {
    }
  1. 然后使用闭包将它们作为对象:
    vars.putObject('sum', this.&sum)
    vars.putObject('isA', this.&isA)
    vars.putObject('isB', this.&isB)
  1. 在脚本中的任何其他 JSR223 元素中,您可以使用这些函数:
    def sum= vars.getObject(‘sum’);
    println sum(2, 2);

1
投票

您可以在

{JMETER_HOME}/bin/utility.groovy
脚本文件中定义 Groovy 函数。

您也可以在自己的 Groovy 脚本中定义该函数,并在

groovy.utilities=bin/utility.groovy
文件中设置属性
user.properties

例如,将以下内容添加到 Groovy 脚本中

def getRandomRangeOption() {
    Random random = new Random()
    random.nextBoolean() ? "Between" : "Except"
}

您可以使用

调用该函数
${__groovy(getRandomRangeOption())}

从 JMX 的任何地方。


1
投票

我不太明白为什么

Script file
选项对你不起作用,你可以将 Groovy 代码保存为文件系统上的单独文件,并通过“脚本文件”输入引用它们。

您可以使用以下方法将 JSR223 测试元素模块化,就像任何其他测试元素一样:

© www.soinside.com 2019 - 2024. All rights reserved.