gpt4 book ai didi

jmeter - 如何迭代/循环 "User Defined Variable"- 使用 JMeter 设置?

转载 作者:行者123 更新时间:2023-12-04 17:53:38 30 4
gpt4 key购买 nike

是否有可能迭代或循环“用户定义的变量”- 像使用 CSV 数据集(WHILE-COUNTER-CSV 数据集配置)一样设置?

我想为“用户定义变量”- 集合中包含的每个 变量触发一个 JDBC 请求(选择语句)。它适用于 CSV 文件,但我不知道如何遍历变量集。这可能吗?我有各种场景,我想在其中循环遍历“用户定义的变量”- 集。

最佳答案

为了能够迭代User Defined VariablesForEach Controller您只需要遵循简单的命名约定,例如:

  • var_1=someValue
  • var_2=someOtherValue
  • var_3=someMoreValue
  • 等等

但是,如果您想保留原始变量名称,您可以创建一组额外的 JMeter 变量,ForEach Controller 可以使用以下步骤使用这些变量:

  1. 假设您有以下用户定义变量:

    JMeter User Defined Variables

    并且您想在 ForEach Controller 中使用它们的值

  2. 在脚本的某处添加 JSR223 测试元素(采样器、前/后处理器等),并将以下代码放入其“脚本”区域

    import org.apache.jmeter.threads.JMeterVariables;

    int counter = 1;

    JMeterVariables tempVars = new JMeterVariables()

    vars.entrySet().each { entry ->
    def name = entry.getKey()
    if (!name.equals("JMeterThread.last_sample_ok") && !name.equals("JMeterThread.pack") && !name.equals("START.HMS") && !name.equals("START.MS") &&
    !name.equals("START.YMD") && !name.equals("TESTSTART.MS")) {
    tempVars.put("tempVar_" + counter, entry.getValue())
    counter++;
    }
    }

    vars.putAll(tempVars);

    脚本完成后,您应该还有 3 个 JMeter 变量

    JMeter variables generated by groovy

  3. 一旦拥有它们 - 您可以使用配置如下的 ForEach Controller :

    ForEach Controller for extra variables

  4. 因此您将能够使用 ${current}(或您在 JDBC 请求中放入“输出变量名称”的任何内容

    Groovy Variables substitution

参见 Groovy Is the New Black文章以了解有关在 JMeter 测试中使用 Groovy 的更多信息。

关于jmeter - 如何迭代/循环 "User Defined Variable"- 使用 JMeter 设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42269020/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com