JMeter 无法断言 Http 响应代码 423
JMeter cannot assert Http response Code 423
我正在尝试在 JMeter 中断言 http 响应代码。
我觉得这很简单,但是我遇到了一个无法解决的问题。
我的服务器可以return 2 个响应代码:200 和 423。
200没问题,能用,但我不能断言423,不知道为什么。
我尝试了以下配置的响应断言:
要测试的字段:响应代码,
模式匹配规则:包含
要测试的模式:
200 - 作品
423 - 不工作
200|423 - 200 个有效,423 个无效(wtf?)
我还尝试了
的 BeanShell 断言
Failure = !(ResponseCode.contains("200") || ResponseCode.contains("423"));
也不行。
我还尝试匹配响应消息以包含 "Locked" - 不起作用。
服务器响应如下所示:
Thread Name: 10 Users, 100 Repeats 1-10
Sample Start: 2017-05-19 13:06:09 MESZ
Load time: 33
Connect Time: 2
Latency: 33
Size in bytes: 333
Sent bytes:768
Headers size in bytes: 333
Body size in bytes: 0
Sample Count: 1
Error Count: 1
Data type ("text"|"bin"|""):
Response code: 423
Response message: Locked
Response headers:
HTTP/1.1 423 Locked
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
X-Application-Context: application:capacitytest
Content-Length: 0
Date: Fri, 19 May 2017 11:06:08 GMT
Server: Not_available
HTTPSampleResult fields:
ContentType:
DataEncoding: null
由于采样器结果中的原因,响应代码被标记为蓝色。不知道为什么。
我还通过 Beanshell 后处理器记录响应代码。是423...
最后我在这里请求你的帮助。
我不知道问题是什么或可能是什么。
提前致谢。
如果您说 HTTP Request sampler JMeter automatically threats HTTP Status Codes 超过 400(含)为失败。我会推荐以下设置:
- 将 Response Assertion 添加为 HTTP 请求的子项
配置如下:
- 适用于:根据你的测试场景
- 要测试的字段:
Response Code
- 别忘了勾选
Ignore Status
方框
- 模式匹配规则:
Matches
- 要测试的模式:
200|423
假设以上配置,如果您的请求状态为 200 或 423 - 它将通过,否则它将因断言而失败。
有关 JMeter 断言的综合信息,请参阅 How to Use JMeter Assertions in Three Easy Steps 指南。
我正在尝试在 JMeter 中断言 http 响应代码。 我觉得这很简单,但是我遇到了一个无法解决的问题。
我的服务器可以return 2 个响应代码:200 和 423。 200没问题,能用,但我不能断言423,不知道为什么。
我尝试了以下配置的响应断言:
要测试的字段:响应代码, 模式匹配规则:包含
要测试的模式: 200 - 作品 423 - 不工作 200|423 - 200 个有效,423 个无效(wtf?)
我还尝试了
的 BeanShell 断言Failure = !(ResponseCode.contains("200") || ResponseCode.contains("423"));
也不行。 我还尝试匹配响应消息以包含 "Locked" - 不起作用。 服务器响应如下所示:
Thread Name: 10 Users, 100 Repeats 1-10
Sample Start: 2017-05-19 13:06:09 MESZ
Load time: 33
Connect Time: 2
Latency: 33
Size in bytes: 333
Sent bytes:768
Headers size in bytes: 333
Body size in bytes: 0
Sample Count: 1
Error Count: 1
Data type ("text"|"bin"|""):
Response code: 423
Response message: Locked
Response headers:
HTTP/1.1 423 Locked
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
X-Application-Context: application:capacitytest
Content-Length: 0
Date: Fri, 19 May 2017 11:06:08 GMT
Server: Not_available
HTTPSampleResult fields:
ContentType:
DataEncoding: null
由于采样器结果中的原因,响应代码被标记为蓝色。不知道为什么。 我还通过 Beanshell 后处理器记录响应代码。是423...
最后我在这里请求你的帮助。 我不知道问题是什么或可能是什么。 提前致谢。
如果您说 HTTP Request sampler JMeter automatically threats HTTP Status Codes 超过 400(含)为失败。我会推荐以下设置:
- 将 Response Assertion 添加为 HTTP 请求的子项
配置如下:
- 适用于:根据你的测试场景
- 要测试的字段:
Response Code
- 别忘了勾选
Ignore Status
方框
- 模式匹配规则:
Matches
- 要测试的模式:
200|423
假设以上配置,如果您的请求状态为 200 或 423 - 它将通过,否则它将因断言而失败。
有关 JMeter 断言的综合信息,请参阅 How to Use JMeter Assertions in Three Easy Steps 指南。