Taurus中InsertFolder接口avg-rt的PassFail规则配置疑问
问题描述
我正在尝试使用Taurus运行JMeter测试,现有一个包含多个Thread Group的JMX文件。其中一个线程组内有一个名为"InsertFolder"的请求,其响应时间超过20秒,但其他大多数请求的响应时间约为5秒。我已配置规则avg-rt of InsertFolder > 10000ms, stop as failed,但不确定该配置是否正确。以下是我的.yml文件内容:
reporting: - module: passfail criteria: - avg-rt of InsertFolder > 10000ms, stop as failed execution: - executor: jmeter concurrency: 1 hold-for: 300s iterations: 10 scenario: script: standard.jmx scenarios: standard: script: standard.jmx
配置分析与修正
你的passfail规则语法本身是正确的,但存在几个需要注意或优化的点:
- 请求名称匹配:规则中的
InsertFolder必须与JMeter中请求的名称完全一致,包括大小写、空格等细节,否则Taurus无法准确定位该请求 - 执行参数冲突:
execution段同时设置了hold-for: 300s(持续运行300秒)和iterations: 10(运行10次迭代),Taurus会优先执行完10次迭代,无论是否达到300秒。如果需要按时间或按迭代次数执行,建议只保留其中一个参数 - 配置冗余:
execution下scenario内的script与scenarios段的script重复,可删除其中一处,保持配置简洁
修正后的配置示例
reporting: - module: passfail criteria: - avg-rt of InsertFolder > 10000ms, stop as failed execution: - executor: jmeter concurrency: 1 iterations: 10 scenario: standard scenarios: standard: script: standard.jmx
额外注意事项
- 如果存在重名请求,或者需要指定线程组下的请求,可使用线程组名称+请求名称的格式,比如
avg-rt of 目标线程组名称>InsertFolder > 10000ms, stop as failed - 可扩展规则提升测试严谨性,比如添加错误率检查:
fail if perc-fail > 0% - 运行测试时添加
-v参数查看详细日志,确认passfail规则是否正确识别目标请求
内容的提问来源于stack exchange,提问作者Smh
相关产品推荐
相关产品推荐

