Jmeter - 发送少量请求后设置状态

时间:2016-03-01 04:04:23

标签: jmeter

我可以通过JMeter解决以下场景吗?:

  
      
  1. 发送request1
  2.   
  3. 将request1的响应插入到request2
  4.   
  5. 发送请求2
  6.   
  7. 发送请求3
  8.   
  9. 将response3与responce1进行比较
  10.   
  11. 如果response3 = responce1 - > requestResponseOK()for request2 ELSE Failed
  12.   

提前致谢。

2 个答案:

答案 0 :(得分:0)

建议解决这个问题

  
      
  1. 发送请求1
  2.   
  3. 在var1中捕获请求1的响应(使用相关性 - >取决于您的要求)
  4.   
  5. 首先发送请求3(因为您不需要请求2对请求3的输入的响应)
  6.   
  7. 捕获var2
  8. 中请求3的响应   
  9. 现在通过将请求1的响应作为存储在var1
  10. 中的输入传递来命中请求2   
  11. 将beanshell post processor应用为请求2的子项
  12.   
  13. 现在比较条件中的请求1和3的Respose:   如果匹配使前一个请求(即请求2)通过,则失败
  14.   
  if(vars.get("var1").equals(vars.get("var2")))
 {
 prev.setSuccessful(true);
 }
 else
 {
 prev.setSuccessful(false); 
 }

答案 1 :(得分:0)

按如下方式设计测试:

  1. 请求1

    • Regular Expression Extractor将整个响应提取到配置为:

      的JMeter变量中
      • 参考名称:任何有意义的内容,即response1
      • 正则表达式:(?s)(^.*)
      • 模板:$1$
  2. 请求2:在必要时使用${response1}

  3. 请求3

    • Response Assertion配置如下:

      • 模式匹配规则:Equals
      • 要测试的模式 - > ${response1}
  4. 参考资料: