我有一个要求,其中服务器可以针对给定的GET / PUT / DELETE请求向资源发送200 OK或409冲突。根据当时的情况和上下文,服务器可以发送200 OK或409,对我来说两者都有效。如何为此案例定义Response断言。此外,如果发送200 OK与内容(对于GET),如何添加响应断言以验证接收内容的md5sum并将其与预期内容进行比较?
所有这些要求都可以单一断言吗?
答案 0 :(得分:1)
您可以使用Regular Expression Extractor获取响应代码,如下所示:
code
(\d+)
$1$
其他字段可以留空。
然后在与您的请求相同的级别添加2 If Controllers以下条件:
${code}==200
- 回复代码200 ${code}==409
- 回复代码409 将所有相关逻辑放在If控制器(作为子控件)下。
为了执行MD5哈希断言,您可以使用提供的MD5Hex Assertion。
答案 1 :(得分:0)
您可以使用'响应分析' 或 Beanshell断言
回应断言:
Beanshell断言:
if(prev.getResponseCode().equals("403") && prev.getResponseDataAsString().contains("EXPECTED CONTENT"))
{
prev.setResponseOK();
}
要进行条件验证,请使用Beanshell Assertion,它非常简单灵活。