【发布时间】:2016-03-01 15:05:25
【问题描述】:
我可以通过 JMeter 解决以下场景吗?:
- 发送请求1
- 将 request1 的响应插入到 request2
- 发送请求2
- 发送请求3
- 比较 response3 和 response1
- 如果 response3 = response1 -> setResponseOK() for request2 ELSE 失败
提前致谢。
【问题讨论】:
标签: jmeter
我可以通过 JMeter 解决以下场景吗?:
- 发送请求1
- 将 request1 的响应插入到 request2
- 发送请求2
- 发送请求3
- 比较 response3 和 response1
- 如果 response3 = response1 -> setResponseOK() for request2 ELSE 失败
提前致谢。
【问题讨论】:
标签: jmeter
解决这种情况的建议
- 发送请求 1
- 在 var1 中捕获请求 1 的响应(使用相关性-->取决于您的要求)
- 先发送请求 3(因为您不需要响应请求 2 来输入请求 3)
- 在 var2 中捕获请求 3 的响应
- 现在通过将请求 1 的响应作为存储在 var1 中的输入传递来点击请求 2
- 将 beanshell 后处理器应用为请求 2 的子项
- 现在在 if 条件下比较请求 1 和 3 的响应: 如果匹配使上一个请求(即请求 2)通过,否则失败
if(vars.get("var1").equals(vars.get("var2")))
{
prev.setSuccessful(true);
}
else
{
prev.setSuccessful(false);
}
【讨论】:
如下设计你的测试:
请求 1
Regular Expression Extractor 将整个响应提取到配置为的 JMeter 变量中:
response1
(?s)(^.*)
$1$
请求 2:在需要时使用 ${response1}
请求 3
Response Assertion 配置如下:
Equals
${response1}
参考资料:
【讨论】: