Jmeter - 一旦满足条件就中断循环

Jmeter - Break a loop once the condition is met

在我的线程中,我从 Cassandra 数据库获取 active_status 参数。我需要对从 Cassandra 示例(active_status_1、active_status_2 等)创建的每个 active_status 变量进行 运行,并检查它是否为 active

当它不活跃时它应该跳过并且什么都不做,如果它是 active 我只需要做一次动作然后停止(所以即使我有 10 个 active 结果,它也会执行动作("report" 在我的例子中)只在第一个上。

active_status 来自调试响应的变量

media_id 来自调试响应的变量

我使用计数器的 http 请求

我的操作(报告)请求是:story_id=evE0-001-085121182-5&media_id=1021372295263777595_175887011&who=admin&reason=offensive&blogger_id=Amit 即使“1021372295263777595_175887011”未激活

您可以在条件下使用 'while controller':

${__javaScript( "${some_var}" = "something" && "${some_other_var}" < "${something_else}"; )}

其中一个表达式应引用计数器,另一个引用状态。

使用:

并且曾经作为在活动状态下运行的 HTTP 请求的子项将 RUN_ONCE 设置为 true

${__jexl2( "${status}" == "ACTIVE" && "${RUN_ONCE}" == "false")}

- 测试计划如下所示:

您的计数器应该在 ForEachController 而不是 If Controller 中,因为它不会正确递增并给出正确状态的 ID