loops - 当断言为真时退出循环

标签 loops jmeter performance-testing load-testing assertions

我正在使用 MailReaderSampler,它从给定的电子邮件 ID 中获取所有消息。所有电子邮件中都有一个验证 token 。目前, token 正在邮件主题上传递。

所以响应数据将有 :
Date:-- To: -- From: -- Subject: token : someToken
我在 User Defined Variables 中定义了一个 Token 值我正在使用 Response assertion检查邮件是否包含 代币 .

因此它会检查所有子结果(所有电子邮件)。现在,只要电子邮件包含 token ,则 我想停止测试并且断言条件不应该检查其他电子邮件,因为它已经找到了具有 token 值 的电子邮件.

关于如何做到这一点的任何建议?

最佳答案

这应该可以解决问题,但我还没有尝试过...使用以下代码在邮件采样器之后添加 BeanShell 采样器。

import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.threads.JMeterContextService;

SampleResult[] subResults = JMeterContextService.getContext().getPreviousResult().getSubResults();
for(SampleResult sr : subResults) {
    if (sr.getResponseDataAsString().contains(vars.get("Token").toString()))
        JMeterContextService.getContext().getEngine().stopTest();
}

关于loops - 当断言为真时退出循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38109597/

相关文章:

testing - 我应该如何模拟 1000 个并发用户?

javascript - 使用循环过滤复杂对象的数组

ruby - Ruby 中的 While 循环和转换为函数

sharepoint - 具有Windows身份验证的JMeter?

java - 从 Jmeter 中的 JSR223 采样器访问 HttpServletRequest 和 Response

java - 算法的性能突然提高了约 10 倍

java - 如何分析 Java 程序从开始到结束的运行过程?

performance-testing - 在 New Relic RPM 中,我收到列出了 Apdex 索引的报告。下标是什么意思?

无法在循环中连续获取字符

javascript - 使用 javascript for 循环动态加载多个 <li> - 尚未加载任何内容