jmeter - 如何在jmeter中将子样本结果更改为成功?

标签 jmeter beanshell

我在jmeter的帮助下完成了登录过程。在请求采样器中,我期望得到响应代码“401”。我添加了 BeanShell 断言

if (ResponseCode.equals("401") == true) { 
    SampleResult.setResponseOK();  
    SampleResult.setSuccessful(true);

}

我的结果树看起来像 this现在。

我的问题是 - 我需要向 BeanShell 添加什么才能使第二个示例的子示例及其父示例变为绿色(通过)?

最佳答案

最简单的方法是使用 Response Assertion配置如下:

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/

相关文章:

testing - JMeter 与远程服务器

amazon-web-services - 在 EC2 服务器上使用 Jmeter 进行负载测试

java - 从 beanshell 或 Java 程序使用 ANTLR

java - 使用 JMeter 调用 java 方法

http - 如何在 jMeter 的 Debug Sampler 中读取 RegEx Extractor 找到的变量

jmeter - 我想知道我的服务器每秒可以处理多少个请求?

java - JMeter是否支持UI的性能测试

java - 从数组中获取随机列表?

jmeter - 没有方法签名 : org. apache.jmeter.threads.JMeterVariables.put() 适用于参数类型 : (java. lang.String, java.lang.Integer)

proxy - 如何在 JMeter 中使用多个代理