我正在努力为这种情况构建一个合适的测试:基本上,我正在对Web服务进行POST调用并尝试断言以下内容:
上面的第1项和第2项我工作正常:我稍后使用响应代码提取器和If控制器处理2。
我的问题是:如何测试响应正文中的给定子字符串,但仅在400响应代码的情况下?
我想要构建的最终断言是这样的:
“(如果响应代码是201或409)或(如果响应代码为400且正文中找到'substring')则确定”
答案 0 :(得分:1)
我认为您需要使用Beanshell Assertion,因为它是所提供的所有断言中最灵活的。
相关的Beanshell代码如下所示:
if (ResponseCode.equals("201") || ResponseCode.equals("409") || (ResponseCode.equals("400") && SampleResult.getResponseDataAsString().contains("something"))) {
Failure = false;
}
有关使用JMeter断言获取信心的详细信息,请参阅How to Use JMeter Assertions in 3 Easy Steps指南。