“ 今天分享一个locust脚本增强方法,多真实用户登陆后做操作”
locust作为开源的工具,根据我们自身的需求来增强功能还是必要的。
01.创建批量用户
既然是多真实用户登陆,那我们系统里就要真实的存在这些用户,如果系统有创建用户的接口,直接调用即可
每次要创建多少用户,动态调整range的参数即可。
创建好用户之后,编辑test_account.csv文件,写入已经创建的用户
第一列是用户名,第二列为密码,这样我们就可以来文件取数据登陆啦。
02.多用户登陆
先写一个获取数据的接口
该接口返回一个队列,用于登陆接口的调用。
下面调用数据登陆
登陆成功之后,返回一个包含用户session的列表,为啥返回这个呢,因为如果后面调用系统其他接口需要的话,这里的session可以拿来使用。
03.多用户操作
现在有了多个用户的登陆session,我们就可以拿这些session来模拟不同的用户操作系统。
调用登陆接口获取session列表
session = login_dynamic()
因为当前我们test_account.csv文件里只有3条数据,所以这里随机产生0-2的整数,传入session列表里获取列表值。
for i in range(random.randint(0, 3)):
headers = {
'Cookie': "session=" + self.session[i], # 一定要用Cookie啊,用Cookies不行!!
'Content-Type': "application/json",
'cache-control': "no-cache",
'User-Agent': "Mozilla / 5.0(Windows NT 10.0; Win64; x64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 70.0.3538.77 Safari / 537.36"
}
之后将header传入post消息,向系统发起请求。
04. 测试结果
增加打印信息用于查看结果
print(i)
print(session[i])
执行locust测试,结果如下
可以看出,在3个session里随机使用,成功模拟了多真实用户操作系统的需求。
如果喜欢我的文章,那就关注我吧!
万分感谢!