如何在 jmeter 中将子样本结果更改为成功?
How to change child sample result to successful in jmeter?
我在 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);
}
}
有关在 JMeter 测试脚本中使用 Beanshell 的更多信息,请参阅 How to Use BeanShell: JMeter's Favorite Built-in Component 文章。
我在 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);
}
}
有关在 JMeter 测试脚本中使用 Beanshell 的更多信息,请参阅 How to Use BeanShell: JMeter's Favorite Built-in Component 文章。