【问题标题】:Jmeter - Common Response assertion for multiple requestJmeter - 多个请求的通用响应断言
【发布时间】:2017-11-27 11:06:14
【问题描述】:

我想要一个适用于每个采样器请求的 200 响应代码的通用响应断言。

但是,某些采样器请求也需要从采样器级别将其覆盖为(响应代码 204,500)。

有什么办法可以实现吗?

【问题讨论】:

    标签: jmeter response assertion


    【解决方案1】:
    1. JMeter 断言服从Scoping Rules,因此如果您将断言置于与采样器相同的级别 - 它将应用于所有采样器
    2. 如果您需要覆盖特定采样器的预期响应代码,我建议您通过 JSR223 PostProcessor 将响应代码更改为 200,例如:

      if (prev.getResponseCode().equals('500')) {
          prev.setResponseCodeOK()
      }
      

      这样,上面的Groovy 代码会将单个采样器状态代码从500 更改为200,因此“全局”断言仍然会成功。

    【讨论】:

    • 谢谢你,德米特里你是永远的救世主!但是还有其他方法可以实现吗?
    • 另外我必须检查响应断言中的忽略状态,这样它才能让上述情况也通过
    • 是否有其他方法可以根据要求实现我无法更改响应代码
    【解决方案2】:

    Response Assertion你可以添加更多要测试的模式,所以添加3:200,204,500

    并选中Or 复选框,您将允许断言其中一个。

    • 注意:要检查的字段是Response Code

    • 注意:模式匹配规则可以是EqualsContains

    【讨论】:

    • 谢谢,有没有其他方法可以做到这一点因为我们需要 200 个共同的响应代码断言和特定 2 个请求的 204 个响应代码断言和其他 10 个以上请求的 500 个响应代码断言
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    相关资源
    最近更新 更多