如何在JMeter中将http状态码200、400、422、202设置为成功

How to set http status code 200, 400, 422, 202 set as success in JMeter

在我的测试计划中,我想将所有响应标记为将 http 状态代码 200、400、422、202 设置为成功。

有什么方法可以在一个断言中实现这一点?

你还应该包括你到目前为止尝试过的方法,解决这个问题很简单,

需要使用以下脚本包含 JSR223 断言,

if("400".equals(SampleResult.getResponseCode()) || "200".equals(SampleResult.getResponseCode()) || "202".equals(SampleResult.getResponseCode()) || "422".equals(SampleResult.getResponseCode())) { 
    SampleResult.setSuccessful(true); 
    AssertionResult.setFailure(false); 
} 
else {
    AssertionResult.setFailure(true); 
}

另一种解决方案可能是 Response Assertion

Response Assertion 添加到测试计划中。这将确保断言应用于所有采样器(响应)

然后配置Response Assertion

  1. Field to Test 作为 Response Code
  2. EqualsOr
  3. 的模式匹配规则
  4. 单击 Add 按钮并添加响应代码

除了上面的配置,如果你想Instructs JMeter to set the status to success initially.

可以勾选Ignore Status

这是基于之前答案的另一种解决方案。

//Expected Response codes
def lstExpectedResponseCodes= ["400", "200", "202","422"]

//Actual Response code 
String actualResponseCode=SampleResult.getResponseCode()

boolean hasResponseCode = lstExpectedResponseCodes.contains(actualResponseCode)

AssertionResult.setFailure(!hasResponseCode)
SampleResult.setSuccessful(hasResponseCode);