Jmeter配合Taurus压测时如何让CSV数据跑完一次即停止测试
需要调整的配置项
1. 修正execution段配置
删除hold-for: 6m配置,该参数会强制测试运行满指定时长,和跑完CSV就停止的需求直接冲突。如果不需要梯度加压也可以删除ramp-up: 30s,新增iterations: 1配置,控制每个线程仅执行1次场景逻辑。
修改后execution段示例:
execution: - concurrency: 5 iterations: 1 scenario: CreateOperations
2. 调整CSV数据源配置
在data-sources下新增3个参数:
loop: false:禁止读完CSV后循环重读数据stop-thread-on-eof: true:线程读完CSV所有数据后自动停止运行share-threads: all(多线程场景下推荐配置):所有线程共享CSV行读取进度,确保每行数据仅被执行1次,不会被多个线程重复调用
修改后data-sources段示例:
data-sources: - path: data.csv quoted: true loop: false stop-thread-on-eof: true share-threads: all
3. 修正现有YAML语法错误
当前配置里create请求的method、headers、url、body字段缩进错误,和requests同级了,需要调整缩进对齐到requests的子项层级,否则配置会解析异常。
修正后请求段示例:
requests: - once: - label: login method: POST url: ${BASE_URI}/login body: user: "user" password: "password" extract-jsonpath: jwt_token: jsonpath: $.jwt - set-variables: jwt_token: ${jwt_token} - label: create method: POST headers: Authorization: Bearer ${jwt_token} url: ${BASE_URI}/data body: ${body}
所有配置调整完成后,CSV内的所有行数据会被执行且仅执行一次,所有数据处理完成后测试会自动终止,不会继续运行。
内容的提问来源于stack exchange,提问作者Sruthi CP
相关产品推荐
相关产品推荐

