我已经在jmeter的帮助下进行了登录过程。在请求采样器中,我期望获得响应代码" 401"。我已经添加了 BeanShell Assertion
if (ResponseCode.equals("401") == true) {
SampleResult.setResponseOK();
SampleResult.setSuccessful(true);
}
我的结果树现在看起来像this。
我的问题是 - 我需要添加到 BeanShell 以使第二个样本的子项为绿色(已通过)以及它的父样本?
答案 0 :(得分:1)
最简单的方法是使用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);
}
}
有关在JMeter测试脚本中使用Beanshell的更多信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component文章。