Jmeter实战轮询(while control)
接口调用顺序就是:
- 调用 POST /api/files 上传一个视频,获得视频 ID
- 调用 POST /api/tasks 创建一个视频解析任务,传入算法 ID 和 视频 ID。 算法ID 是写死的 2,视频ID用第一步返回的。
- 调用 GET /api/tasks/{task_id} 获取任务状态和返回结果ID,轮询等待结果。
- 调用 GET /api/files/{file_id} 下载处理结果文件。
脚本编写步骤:
1. 创建线程组
脚本整体结构如下:
2. 创建事务控制器
3. 添加调试取样器
video_Id_ALL
、task_Id_ALL
、status_ALL
是后续接口中需要传入的变量,可以在后边的接口中引用,引用方式为${变量}
.
4. 添加取样器
开启接口的事务流程:
4.1 调用 POST /api/files 上传一个视频,获得视频 ID
**图中需要注意:**点击文件上传、勾选 对post使用multipart/form-data
,实现视频文件上传;
4.2 调用 POST /api/tasks 创建一个视频解析任务
需要传入算法 ID 和 视频 ID。 算法ID 是写死的 2,视频ID用第一步返回的。
- Http 信息头管理器
User-Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36
Content-Type application/json
Accept */*
Accept-Encoding gzip, deflate
Accept-Language zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6
Connection keep-alive
- Json提取器
4.3 调用 GET /api/tasks/{task_id} 获取任务状态和返回结果ID
4.4 接口轮询(获取任务状态和返回结果ID的接口)
- While 控制器
循环条件:
循环次数<10 且 status != "FINISHED"
${__javaScript(${count}<10 && "${status_ALL}"!="FINISHED")}
- 固定定时器
轮询间隔10s
4.5 调用 GET /api/files/{file_id} 下载处理结果文件
5. 添加监听器
轮询成功后,获取最终的渲染信息
原文地址:https://blog.csdn.net/weixin_39451323/article/details/122351082
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。