You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JMeter中实现采样器响应状态的条件等待验证(不重触发)

解决方案:等待数据库记录状态变更的JMeter实现

核心思路

不能重复触发原POST请求,所以要新增一个只读查询请求来轮询状态,直到状态变为Completed或超时。

具体步骤

  1. 保留原POST请求:仅执行1次,用于启动刷新流程。
  2. 添加状态查询请求:新增一个HTTP GET请求(或其他只读接口),专门获取当前记录的状态信息,避免重复触发流程。
  3. 提取状态字段:给查询请求添加JSON Extractor,配置如下:
    • 引用名称:status
    • JSON Path表达式:$.status
    • 匹配数字:1(提取第一个匹配值)
  4. 添加循环控制器:将查询请求、提取器包入循环控制器,设置循环规则:
    • 循环条件:${__jexl3(${status} != 'Completed',)}(状态未完成则继续循环)
    • 最大循环次数:设置合理值(比如30次,防止无限循环)
  5. 添加轮询间隔定时器:在循环控制器内添加固定定时器,设置延迟时间(比如3000毫秒,即3秒),避免频繁请求给服务造成压力。
  6. 添加状态验证断言:给查询请求添加响应断言,确保状态符合预期:
    • 应用范围:主样本
    • 响应字段:响应文本
    • 匹配规则:Equals
    • 模式字符串:Completed

执行逻辑

原POST请求执行后,循环控制器会每隔3秒调用一次查询接口,提取并检查status字段。当status变为Completed时,循环终止,继续执行后续采样器;如果达到最大循环次数仍未完成,脚本会终止循环并标记断言失败。

内容的提问来源于stack exchange,提问作者jitendra gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 19:52:11