如何在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 添加到测试计划中。这将确保断言应用于所有采样器(响应)
Field to Test
作为 Response Code
Equals
和 Or
的模式匹配规则
- 单击
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);
在我的测试计划中,我想将所有响应标记为将 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 添加到测试计划中。这将确保断言应用于所有采样器(响应)
Field to Test
作为Response Code
Equals
和Or
的模式匹配规则
- 单击
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);