前言
我们在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况。
如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有可参考性。
场景案例
我现在有一个登录接口,接口登录接口文档基本信息
- 访问地址:http://127.0.0.1:8000/api/v1/login/
- 请求类型:POST
- 请求头部:Content-Type: application/json
- 请求参数:{"username":"test", "password":"123456"}
我现在要压测这个登录接口,需设置30,50,80,100的并发数,那至少需要准备100个账号和密码
登录接口
先保证一个账号和密码的时候能正常的请求成功
添加HTTP信息头管理器
,添加 post 请求类型 Content-Type: application/json
查看结果
测试数据准备
上面的单个用户能请求成功,接下来准备测试数据,自己先去注册批量账号和密码,我这里以10个账号和密码为例
账号和密码按以下格式,中间逗号隔开,保存为login_user_psw.txt
test1,123456
test2,123456
test3,123456
test4,123456
test5,123456
test6,123456
test7,123456
test8,123456
test9,123456
test10,123456
CSV数据文件设置
添加配置元件,CSV数据文件设置
导入txt的数据文件,用2个变量user和psw中间参数默认是逗号隔开
接下来把账号和密码引用改成的变量
CSV数据文件设置参数说明:
- 文件名 导入你的txt文件绝对路径
- 文件编码 一般选UTF-8
- 变量名 你自己设置的变量,如果只有一个变量那就只写一个,有多个变量的时候中间用英文的逗号隔开
- 忽略首行 如果你的第一行就是测试的账号,默认False就行,如果第一行是title栏那就设置True忽略
- 分隔符 也就是你txt文件里面分割参数的符合,一般用英文逗号
- 是否运行带引用号 一般不用改,默认Fasle
- 遇到文件结束时循环 它会循环从txt文件取值,如果全部取完了想继续那就是True,如果想文件的数据用完就结束,比如注册不可以重复用,那就设置False
- 线程共享模式 默认所有的线程就行
查看结果
比如我把线程数设置为3,一个线程数就是代表1个用户
查看结构树,会有3个请求返回的结果,分别用不同的账号去登录了