性能测试全栈笔记:16.Jmeter参数化CSV进阶-UEA篇
性能测试全栈笔记
十六、Jmeter参数化CSV进阶-UEA篇
引导:介绍了Jmeter参数化CSV进阶-UEC篇,今天我们继续学习UEA设置,UEA即唯一取值,以注册接口为例进行说明。
举例说明:
- 协议:HTTP
- IP:192.168.25.152
- 端口:808
接口名称 | 接口类型 | URL | 参数 |
---|---|---|---|
参数为json的POST接口 | POST | /pinter/com/register | {“userName”:”test”,”password”:”1234″,”gender”:1,”phoneNum”:”110″,”email”:”beihe@163.com”,”address”:”Beijing”} |
运行一下单接口:
需求:10并发持续100秒能注册多少条账号?
思路:考虑对userName、phoneNum进行参数化,通过csv方式进行参数化设置
开始操作:
1.我们先看一下单个接口,1个并发持续1秒能有多少请求:
2.运行脚本,并察看聚合报告:
3.1个并发1秒87条,那么:10个并发10秒8700,10个并发100秒87000,我们需要准备至少87000条虚拟数据,直接开始操作:
4.开始设置csv组件
- 文件名:引用pinter-register.csv
- 变量名:userName,phoneNum
- 忽略首行:True
- 分隔符:,(英文下的逗号)
- 遇到文件结束符再次循环:False(注册账号的用户名唯一)
- 遇到文件结束符停止线程:True(同上)
再次说明:以上设置非常重要。
5.开始编辑脚本参数化
{
"userName":"${userName}",
"password":"1234",
"gender":1,
"phoneNum":"${phoneNum}",
"email":"beihe@163.com",
"address":"Beijing"
}
6.回到需求:10并发持续100秒能注册多少条账号?
设置线程组:
7.清理脚本日志,保存并点击运行,察看聚合报告:
- 聚合报告给出的是:88487
- 我们之前预估的是:87000,有一些误差,很正常,关键是思路
Jmeter参数化CSV进阶-UEC、UEA已介绍完毕,希望能给大家带来启发,比如支付的时候用UEC还是UEA,搜索的时候用UEC还是UEA,这些都有待大家思考,学会一样,举一反三。
下一章预告:timestap时间戳、签名效验解决方法