如何解决JMeter 有没有办法从网络选项卡中获取响应消息?
我插入了寻找 200 或 201 的响应断言。但是,当测试失败时,它只告诉我它正在寻找其中一个值,而不是像网络选项卡的响应部分那样的消息。例如,如果它是一个错误的请求,我会看到 400,但没有像“uid 不能为空,名称不能为空”这样的消息。有没有办法在 JMeter 中提取这些信息?
解决方法
“普通”Response Assertion 不能,如果您想应用一些自定义逻辑,您需要执行一些自定义脚本。
例如,如果您想将响应正文添加到断言消息中,您可以使用以下技巧:
-
在响应断言之后添加 JSR223 Assertion
-
将以下代码放入“脚本”区域:
prev.getAssertionResults().each { assertionResult -> if (assertionResult.isFailure()) { assertionResult.setFailureMessage(assertionResult.getFailureMessage() + System.getProperty('line.separator') + 'Response data:' + System.getProperty('line.separator') + prev.getResponseDataAsString()) } }
就是这样,上面的代码会将响应数据添加到任何失败的断言中,希望这就是您要寻找的。p>
今后您可能希望将所有断言逻辑迁移到 JSR223 断言和 Groovy,有关详细信息,请参阅 Scripting JMeter Assertions in Groovy - A Tutorial 文章。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。