当前位置: 首页 > 知识库问答 >
问题:

无法在Jmeter中设置增量变量

华子昂
2023-03-14

下面是我简单的Jmeter测试计划。

用户参数如下所示:

我只是调用一个endpoint,读取响应体,并根据找到的ID,在Regex提取器的帮助下调用另一个endpoint。ForEach循环帮助确保对于找到的所有ID,以ID作为路径中的参数调用相同的endpoint。

    null
import org.apache.commons.lang.StringUtils;

    String response = new String(data);
    int Mondays = 0;
    int Tuesdays = 0;
    int Wednesdays = 0;
    int Thursdays = 0;
    int Fridays = 0;
    int Saturdays = 0;
    int Sundays = 0;

    if(response.contains("'DayOfWeek':'Monday'")){
        Mondays++;
        vars.put("Monday", Mondays.toString);
    };
    if(response.contains("'DayOfWeek':'Tuesday'")){
        Tuesdays++;
        vars.put("Tuesday", Tuesdays.toString);
    };
    if(response.contains("'DayOfWeek':'Wednesday'")){
        Wednesdays++;
        vars.put("Wednesday", Wednesdays.toString);
    };
    if(response.contains("'DayOfWeek':'Thursday'")){
        Thursdays++;
        vars.put("Thursday", Thursdays.toString);
    };
    if(response.contains("'DayOfWeek':'Friday'")){
        Fridays++;
        vars.put("Friday", Fridays.toString);
    };
    if(response.contains("'DayOfWeek':'Saturday'")){
        Saturdays++;
        vars.put("Saturday", Saturdays.toString);
    };
    if(response.contains("'DayOfWeek':'Sunday'")){
        Sundays++;
        vars.put("Sunday", Sundays.toString);
    };

我这里的一个小问题是,用户参数变量从来没有得到更新,并且在运行结束时总是等于0。在这种情况下我做错了什么?以前有人面临过这个任务吗?

共有1个答案

金健
2023-03-14

>

  • 请注意,从JMeter 3.1版开始,建议使用Groovy进行任何形式的脚本,以考虑迁移到JSR223后处理器

    查看重复“dayofweek”:“xxx”模式似乎不需要为每个工作日创建7个分支,您可以使用正则表达式提取当前值,设置或获取并增加相关的JMeter变量

    示例代码如下所示:

    def day = (prev.getResponseDataAsString() =~ "'DayOfWeek':'(\\w+)'")[0].get(1)
    def value = (vars.get(day) ?: '0') as int
    value++
    vars.put(day, value as String)
    

    有关在JMeter测试中使用Groovy脚本的更多信息,请参阅Apache Groovy-Why and How You Should Use It文章

  •  类似资料:
    • 我已经将线程数和上升时间设置为1/1,我正在从data.csv迭代我的1000条记录1800秒。现在给出数字,我已经设置了CTT,恒定时间吞吐量为每分钟2000,我预计平均吞吐量2000/60 = 33.3 /sec,但我得到18.7/秒,当我将吞吐量提高到4000/60时,我仍然得到18或19/秒。

    • 你能帮我理解一下为什么我不能增加静态变量吗?我面临以下问题:*错误LNK2001:未解析的外部符号“private:static unsigned int counter::m_curcounters”(?m_curcounters@counter@@0ia)*

    • 问题内容: 这是我第一次使用SQLServer 2012,并且我收到的这段代码不起作用: 这段代码有问题: 我有以下三个错误: 问题答案: 您需要替换为,它将起作用 所以这 需要替换为

    • 我使用递归方法在二叉树中使用键查找节点。找到节点后,我将其设置为引用变量foundNode并返回。问题是,当我读取对象时,它的值仍然是null。有人能帮忙吗?

    • 我一直在使用JMeter,我知道< code>__Random和< code>__RandomString函数。我需要选择一个随机选项并将其存储在一个变量中,因为它将被用作多个调用的参数路径的一部分。例如: < code > http://www . example . com/pets/{随机选项,如:猫、狗、鹦鹉}/ 我尝试过这样简单的操作,其中我使用一个随机控制器将变量< code>${qu

    • 问题内容: 我正在尝试读取Django设置中的一些环境变量,我在/home/user/.bashrc中定义了该变量(后来在/etc/bash.bashrc中定义了),但是我得到的只是一个KeyError异常。我知道我的环境变量已设置,因为我可以在终端(回显$ VAR_NAME)中打印它们。这应该是微不足道的。 这是我正在使用的代码。 我只是找不到什么。有什么建议吗? 谢谢 编辑:使用mod_wsg