我在jmeter的帮助下完成了登录过程。在请求采样器中,我期望得到响应代码“401”。我添加了 BeanShell 断言
if (ResponseCode.equals("401") == true) {
SampleResult.setResponseOK();
SampleResult.setSuccessful(true);
}
我的结果树看起来像 this现在。
我的问题是 - 我需要向 BeanShell 添加什么才能使第二个示例的子示例及其父示例变为绿色(通过)?
最佳答案
最简单的方法是使用 Response Assertion配置如下:
<小时/>如果您仍在寻找 Beanshell 解决方案 - 您需要处理所有子结果以及主要结果,因此您应该修改代码,如下所示:
import org.apache.jmeter.samplers.SampleResult;
//process main sample
if (SampleResult.getResponseCode().equals("401")) {
SampleResult.setResponseCodeOK();
SampleResult.setSuccessful(true);
}
//process all subsamples
for (SampleResult subResult : SampleResult.getSubResults()){
if (subResult.getResponseCode().equals("401")){
subResult.setResponseCodeOK();
subResult.setSuccessful(true);
}
}
参见How to Use BeanShell: JMeter's Favorite Built-in Component有关在 JMeter 测试脚本中使用 Beanshell 的更多信息,请参阅文章。
关于jmeter - 如何在jmeter中将子样本结果更改为成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40419445/