微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JMeter 有没有办法从网络选项卡中获取响应消息?

如何解决JMeter 有没有办法从网络选项卡中获取响应消息?

我正在尝试从 JMeter 的网络选项卡中获取错误消息:

enter image description here

我插入了寻找 200 或 201 的响应断言。但是,当测试失败时,它只告诉我它正在寻找其中一个值,而不是像网络选项卡的响应部分那样的消息。例如,如果它是一个错误的请求,我会看到 400,但没有像“uid 不能为空,名称不能为空”这样的消息。有没有办法在 JMeter 中提取这些信息?

解决方法

“普通”Response Assertion 不能,如果您想应用一些自定义逻辑,您需要执行一些自定义脚本。

例如,如果您想将响应正文添加到断言消息中,您可以使用以下技巧:

  1. 在响应断言之后添加 JSR223 Assertion

  2. 将以下代码放入“脚本”区域:

    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 举报,一经查实,本站将立刻删除。