JMETER接口测试—— 参数化和关联
实现如下:
1、注册接口,实现参数化,;
2、登录接口,关联用第一步中的用户和密码;
3、博文查询接口,关联登录接口返回的token和userid。
1) 添加Thread Group
2) 添加HTTP Request,用来请求register接口
3) 设置register接口请求信息(参数化)
Name: register
Server Name or IP: 39.100.104.214
Port Number : 8080
Method : POST
Path : /register/
Body Data: {"username":"GLY${__Random(666666666,999999999,ran_num)}", "password":"hhq${ran_num}","email":"lily@qq.com"}
单击Function Helper Dialog,利用random函数,对用户名和密码参数化。
将函数放到用户名字符串的后面,之后想用该变量的时候直接${ran_num}引用即可。
4) 添加HTTP Request,用来请求login接口
5) 设置login接口请求信息(关联)
Name: 用户登录
Server Name or IP: 39.100.104.214
Port Number : 8080
Method : POST
Path : /login/
Body Data:
{"username":"GLY${ran_num}", "password":"${__MD5(hhq${ran_num},md5_pwd)}"}
6) login节点下添加2个Regular Expression Extractor
因为,查询博文接口的请求,需要用到login接口返回的userid和token,所以我们要用正则提取器将userid和token提取出来放到变量中,以便getBlogsOfUser 接口做关联。
这里的userid和token是在 登录请求后返回的,因此是ADD后置处理器。
7) 第1个正则提取器获取token:token": “(\w+)”
8) 第2个正则提取器获取userid: userid": (\d+)
9) 添加HTTP Request,用来请求查询博文接口
10) 设置getBlogsOfUser 接口请求信息(关联)
Name: 查询博文
Server Name or IP: 39.100.104.214
Port Number : 8080
Method : POST
Path : /getBlogsOfUser/
Body Data:
:{"userid":${userid}, "token": "${token}"}
11) 查询博文:添加Response Assertion
12) 查询博文:断言响应信息中有userid和"code": "00字段
13) 添加View Results Tree