Python性能测试框架Locust实战教程_python locust 性能测试

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文

(2)**安装成功后验证:**在cmd窗口中,输入python,进入python开发环境,然后输入import locust,如果没有报错,则说明locust安装成功

04、如何使用

Locust类

  • HttpLocust类 继承了Locust类,表示将要生成的每一个虚拟的HTTP用户,用来发送请求到进行负载测试的系统。
  • task_set属性 该 task_set 属性指向定义的用户行为的类
  • host属性 host属性是要加载的域名(URL 前缀,例如http://xxxxxx
  • wait_time属性 用于发送Http请求时,虚拟用户需要等待的时间,等待时间是一个区间范围。单位为毫秒,等待时间在min_wait和max_wait之间随机选择

TaskSequence 类

  • TaskSequence 类
    TaskSequence 类是 TaskSet,但其任务将按顺序执行。
  • @task装饰器
    用于标识测试任务,并且可以通过task装饰器设置权重用于执行任务的执行率
  • @seq_task装饰器
    用于指定接口的执行顺序。可以把@task装饰器和@seq_task装饰器一起组合使用

初始化方法

1、setup 和 teardown方法 setup 和 teardown 都是只能运行一次的方法。在任务开始运行之前运行setup,而在所有任务完成并且蝗虫退出后运行 teardown;这使您能够在任务开始运行之前做一些准备工作(比如创建数据库,或者打印日志 等等),并在蝗虫退出之前进行清理。

2、on_start 和 on_stop 方法 每个虚拟用户执行操作时运行on_start方法,退出时执行on_stop方法

3、初始化方法的执行顺序 setup > on_start > on_stop > teardown

常用3种启动方式

直接启动

locust -f stock_center.py
(stock_center.py为执行脚本,可在编译器中直接运行该脚本)

无web页面启动

locust -f stock_center.py --no-web -c 200 -r 20 -t 1m
(–no-web 代表不需要启动UI页面
-c 代表需要并发的用户数
-r 代表每秒并发的用户数
-t 代表需要运行的时间)

分布式启动

locust -f stock_center.py --master # 指定当前机器为master主机
locust -f stock_center.py --slave --master-host=10.xxx.xxx.xxx # 指定当前机器为从机并指向对应master主机

启动页面

Number of total users simulate: 设置需要并发的总人数

Hatch rate(users spawned/second): 每秒启动的虚拟用户数

Start swarming: 执行locust脚本

Type: 请求类型,即接口的请求方法

Name: 接口请求路径

Requests: 当前已完成的请求数量

Fails: 当前失败的数量

Median: 响应时间的中间值,即50%的响应时间在这个数值范围内,单位为毫秒

Average: 平均响应时间,单位为毫秒

Min: 最小响应时间,单位为毫秒

Max: 最大响应时间,单位为毫秒

Average Size: 平均请求的数据量, 单位为字节

Current RPS: 每秒能处理的请求数目

各模块说明

  • New test:点击该按钮可对模拟的总虚拟用户数和每秒启动的虚拟用户数进行编辑;
  • Statistics:类似于jmeter中Listen的聚合报告;
  • Charts:测试结果变化趋势的曲线展示图,分别为每秒完成的请求数(RPS)、响应时间、 不同时间的虚拟用户数;
  • Failures:失败请求的展示界面;
  • Exceptions:异常请求的展示界面;
  • Download Data:测试数据下载模块, 提供四种类型的CSV格式的下载, 分别是:Statistics、responsetime、failures、exceptions;

05、Locust的总结

局限:

locust的局限性在于:目前其本身对测试过程的监控和测试结果展示,不如jmeter全面和详细,需要进行二次开发才能满足需求越来越复杂的性能测试需要。

优势:

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)**
[外链图片转存中…(img-qZ3QucSZ-1713354688549)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 21
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值