Jmeter-常见问题解答

1、如何将测试计划中的线程组按顺序进行,一个线程组压完后再进行下一个?

线程组按顺序进行

2、变量传递1:线程组内部请求之间的传递,如上一个请求的response的部分字段需要作为下一个请求的header?

场景:同一线程组内:请求A发送验证码sendSmsCode -> 请求B获取验证码getSmsCode -> 请求C使用验证码登录login
解决方案:
正则提取器:后置处理器 -> 正则表达式提取器(Regular Expression Extractor)

  1. 请求B添加正则表达式提取器,将请求B的response中的验证码提取出来付给变量smsCode,线程组内其他请求引用它的方式${smsCode}
    正则提取器提取验证码

    下面是正则提取器各参数的意义:
    正则提取器各参数意义
  2. 请求C需要引用请求B的response中提取出来的smsCode,作为请求参数:


    请求C引用smsCode

3、变量传递2:如何在线程组之间进行变量传递?

场景:线程组login请求C得到token -> 线程组login请求B得到userId -> 线程组addVehicle使用token作为请求header -> 线程组createSession使用userId作为请求参数
解决方案:
Beanshell PostProcessor: 后置处理器 -> Beanshell PostProcessor

  1. 请求C的response得到token,使用正则提取器提取出来赋给变量userToken,线程组内可使用${userToken}进行引用;


    正则提取器提取token
  2. 请求B的response得到userId,同上面的方法使用正则提取器提取出来赋给变量userId;

  3. 创建BeanShell Processor,因为我们从login线程组的两个请求中分别提取了变量,故BeanShell Processor应该创建在login线程组下:


    BeanShell Processor创建路径
  4. BeanShell Processor使用:


    全局变量赋值方式及引用方式
  5. 线程组addVehicle使用token作为请求header:


    引用全局变量token
  6. 线程组createSession使用userId作为请求参数:


    requestbody中引用全局变量requestUserId
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容