JMeter如果控制器在HTTP响应代码上

时间:2014-03-11 16:16:24

标签: jmeter

我希望测试的某个分支只有在前一个样本的响应代码返回某个HTTP代码200时才会执行。

我尝试了以下条件作为' if控制器':

"{httpCode}"== "200"

但没有运气(没有运气调试,调试采样器什么也没说)

由于

3 个答案:

答案 0 :(得分:5)

您是否事先将响应代码提取到变量httpCode?使用正则表达式提取器http://jmeter.apache.org/usermanual/component_reference.html#Regular_Expression_Extractor

然后检查变量的值:

${__javaScript(${httpCode}=="200")} 

或者,您可以使用断言,请参阅https://stackoverflow.com/a/11669393/808594

答案 1 :(得分:2)

我猜你在变量之前只丢失$符号。

JMeter也公开了一个名为$ {JMeterThread.last_sample_ok}的变量,它可以是true或false。我建议您在If控制器中使用它。

只需将${JMeterThread.last_sample_ok}变量放入IF Controller and get pie.

即可

答案 2 :(得分:0)

在" IF控制器"内添加HTTP请求所有请求都要检查以前的结果条件并定义以下内置JavaScript条件'“$ {JMeterThread.last_sample_ok}”'。