美文网首页
Jmeter-常见问题解答

Jmeter-常见问题解答

作者: 沸腾Shark | 来源:发表于2020-04-17 14:05 被阅读0次

    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

    相关文章

      网友评论

          本文标题:Jmeter-常见问题解答

          本文链接:https://www.haomeiwen.com/subject/wvwevhtx.html