zoukankan      html  css  js  c++  java
  • Jmeter正则提取list中相同key的value和出现的次数

    list中如何计算某个key出现的次数以及通过正则关联参数化呢?

    首先要通过正则提取出现key的value

    举例:

    jmeter的正则提取配置如下:

    配置一个后置处理器Debug PostProcessor查看结果:

    如图:name_23为厦门:校验结果:

    说明:name_g1和name_1在于模板里配置了几个!!!!!

    如果模板只有一个$1$(1个组)、$1$,$2$(2个组) 那就说明例子为1个组!!!

    如图:一个组下name_23_g1 和name_23值是相同的

    那如何计算在json字符串出现的次数呢?

    举例:由于上面例子涉及具体公司商业信息,就随便写了 一个返回json串来说明

    {"ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1,"ip":"1.1.1.1","ip":"1.1.1.1,"ip":"1.1.1.1","ip":"1.1.1.1,"ip":"1.1.1.1","ip":"1.1.1.1,"ip":"1.1.1.1","ip":"1.1.1.1}
    

    在请求上创建一个正则表达式提取器,把响应信息全部提取到变量中如下面的截图

    可以匹配文档中任何一个位置。
    s 空白符
    S 非空白符
    [sS]任意字符
    [sS]* 0个到任意多个字符
    [sS]*? 0个字符,匹配任何字符前的位置。

    然后创建一个beanshll前置处理器:脚本如下

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    ip = vars.get("ip");
    subs = ""ip"";
    Pattern pattern = Pattern.compile(subs);  
    Matcher matcher = pattern.matcher(ip);  
    int count=0;  
    while(matcher.find()){  
        count++;  
    }  
    System.out.println(count);
    

     执行Jmeter,控制台就打印出数值了

    打印的数值为 18

  • 相关阅读:
    拖拽更改窗口大小
    一个窗口移动时,另一个窗口跟随移动
    xcode使用技巧
    同一个解决方案中,多个项目间相互引用,无法打开源文件
    截图时窗口自动识别
    C++使用sqlite时,中文字符显示乱码问题
    sqlite3配置与使用
    duilib控件与属性说明
    xml文件编写
    线程及安全相关
  • 原文地址:https://www.cnblogs.com/nzg-noway/p/6554005.html
Copyright © 2011-2022 走看看