Jmeter实战轮询(while control)

Jmeter实战轮询(while control)


接口调用顺序就是:

  1. 调用 POST /api/files 上传一个视频,获得视频 ID
  2. 调用 POST /api/tasks 创建一个视频解析任务,传入算法 ID 和 视频 ID。 算法ID 是写死的 2,视频ID用第一步返回的。
  3. 调用 GET /api/tasks/{task_id} 获取任务状态和返回结果ID,轮询等待结果。
  4. 调用 GET /api/files/{file_id} 下载处理结果文件。

脚本编写步骤:

1. 创建线程组

脚本整体结构如下:
Jmeter实战轮询(while control)

2. 创建事务控制器

Jmeter实战轮询(while control)

3. 添加调试取样器

用于获取上一个接口返回值,作为当前接口的输入
Jmeter实战轮询(while control)
在结果数中查看,调试取样器的响应数据:
Jmeter实战轮询(while control)
video_Id_ALLtask_Id_ALLstatus_ALL是后续接口中需要传入的变量,可以在后边的接口中引用,引用方式为${变量}.

4. 添加取样器

开启接口的事务流程:

4.1 调用 POST /api/files 上传一个视频,获得视频 ID

Jmeter实战轮询(while control)
Jmeter实战轮询(while control)

**图中需要注意:**点击文件上传、勾选 对post使用multipart/form-data,实现视频文件上传;

  • 添加Json提取器
    获取视频id
    Jmeter实战轮询(while control)
  • 添加正则提取器
    同Json提取器,用于 获取视频id
    Jmeter实战轮询(while control)

4.2 调用 POST /api/tasks 创建一个视频解析任务

需要传入算法 ID 和 视频 ID。 算法ID 是写死的 2,视频ID用第一步返回的。
Jmeter实战轮询(while control)

  • Http 信息头管理器

Jmeter实战轮询(while control)

Jmeter实战轮询(while control)

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提取器
    Jmeter实战轮询(while control)

4.3 调用 GET /api/tasks/{task_id} 获取任务状态和返回结果ID

Jmeter实战轮询(while control)

Jmeter实战轮询(while control)

  • Json提取器(获取Status)
    Jmeter实战轮询(while control)
  • BeanShell后处理器,用于记录轮序次数
    设置count变量为1Jmeter实战轮询(while control)
    vars.put("count","1");

4.4 接口轮询(获取任务状态和返回结果ID的接口)

Jmeter实战轮询(while control)

  • While 控制器

Jmeter实战轮询(while control)
循环条件:循环次数<10 且 status != "FINISHED"

${__javaScript(${count}<10 && "${status_ALL}"!="FINISHED")}

Jmeter实战轮询(while control)
- 固定定时器
轮询间隔10s
Jmeter实战轮询(while control)
Jmeter实战轮询(while control)
Jmeter实战轮询(while control)

4.5 调用 GET /api/files/{file_id} 下载处理结果文件

Jmeter实战轮询(while control)
Jmeter实战轮询(while control)

5. 添加监听器

轮询成功后,获取最终的渲染信息
Jmeter实战轮询(while control)

上一篇:python 获取淘宝商品信息


下一篇:Python爬虫之定时抢购淘宝商品