前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python性能测试locust(三)

Python性能测试locust(三)

作者头像
周萝卜
发布2019-07-17 15:15:03
9330
发布2019-07-17 15:15:03
举报
文章被收录于专栏:萝卜大杂烩萝卜大杂烩

今天分享一个locust脚本增强方法,多真实用户登陆后做操作

locust作为开源的工具,根据我们自身的需求来增强功能还是必要的。

01.创建批量用户

既然是多真实用户登陆,那我们系统里就要真实的存在这些用户,如果系统有创建用户的接口,直接调用即可

每次要创建多少用户,动态调整range的参数即可。

创建好用户之后,编辑test_account.csv文件,写入已经创建的用户

第一列是用户名,第二列为密码,这样我们就可以来文件取数据登陆啦。

02.多用户登陆

先写一个获取数据的接口

该接口返回一个队列,用于登陆接口的调用。

下面调用数据登陆

登陆成功之后,返回一个包含用户session的列表,为啥返回这个呢,因为如果后面调用系统其他接口需要的话,这里的session可以拿来使用。

03.多用户操作

现在有了多个用户的登陆session,我们就可以拿这些session来模拟不同的用户操作系统。

调用登陆接口获取session列表

代码语言:javascript
复制
session = login_dynamic()

因为当前我们test_account.csv文件里只有3条数据,所以这里随机产生0-2的整数,传入session列表里获取列表值。

代码语言:javascript
复制
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. 测试结果

增加打印信息用于查看结果

代码语言:javascript
复制
print(i)
print(session[i])

执行locust测试,结果如下

可以看出,在3个session里随机使用,成功模拟了多真实用户操作系统的需求。

如果喜欢我的文章,那就关注我吧!

万分感谢!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 萝卜大杂烩 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档