JMeter中的条件响应断言

时间:2014-09-15 17:36:53

标签: http jmeter

我有一个要求,其中服务器可以针对给定的GET / PUT / DELETE请求向资源发送200 OK或409冲突。根据当时的情况和上下文,服务器可以发送200 OK或409,对我来说两者都有效。如何为此案例定义Response断言。此外,如果发送200 OK与内容(对于GET),如何添加响应断言以验证接收内容的md5sum并将其与预期内容进行比较?

所有这些要求都可以单一断言吗?

2 个答案:

答案 0 :(得分:1)

您可以使用Regular Expression Extractor获取响应代码,如下所示:

  • 添加正则表达式提取器作为您需要检查的请求的子项
  • 按如下方式填充:
    • 参考名称:任何有意义的内容,即code
    • 正则表达式:(\d+)
    • 模板:$1$

其他字段可以留空。

然后在与您的请求相同的级别添加2 If Controllers以下条件:

  • ${code}==200 - 回复代码200
  • ${code}==409 - 回复代码409

将所有相关逻辑放在If控制器(作为子控件)下。

为了执行MD5哈希断言,您可以使用提供的MD5Hex Assertion

答案 1 :(得分:0)

您可以使用'响应分析' Beanshell断言

回应断言:

enter image description here

Beanshell断言:

if(prev.getResponseCode().equals("403") && prev.getResponseDataAsString().contains("EXPECTED CONTENT"))
{
    prev.setResponseOK();
}

要进行条件验证,请使用Beanshell Assertion,它非常简单灵活。