性能测试利器-Locust框架解析

性能测试利器-Locust框架解析本文章出自 码同学软件测试 码同学公众号 自动化软件测试码同学抖音号 小码哥聊软件测试 1 认识 Locust 说起性能测试工具 大家肯定想到的都是 Jmeter 是的 由于其简单易用 功能强大 已经变成主流的压测工具之一

欢迎大家来到IT世界,在知识的湖畔探索吧!

本文章出自【码同学软件测试

码同学公众号:自动化软件测试

码同学抖音号:小码哥聊软件测试

1 认识Locust

说起性能测试工具,大家肯定想到的都是Jmeter,是的,由于其简单易用、功能强大,已经变成主流的压测工具之一。当需要实现一些高级功能的时候,可以使用Java语言对Jmeter进行扩展。

但是很多小伙伴只会Python,不会Java,可不可使用Python语言来做性能测试呢?答案是肯定的,今我们就来介绍下基于Python的强大的性能测试框架Locust。

Locust直译是“蝗虫”的意思,意在压测时产生的压力就像是漫天蝗虫一样,铺天盖地。Locust是用Python实现的开源性能测试框架,不同于其他压测工具基于进程/线程产生压力,Locust是完全基于事件,支持分布式,一个Locust节点可以在一个进程中轻松支持上千并发用户。从这一点来看,它的设计思路要远优于Jmeter、Loadrunner之类的工具。

2 Locust环境搭建

1、安装Python,建议使用Python3.6+

2、安装Locust及其依赖:pip3 install -i
https://pypi.douban.com/simple
locust

3、验证是否安装成功,执行命令:locust -V,如果能看到版本信息,即代表安装成功

3 Locust脚本编写

不同于Jmeter的界面化脚本配置,Locust的脚本需要完全写Python代码,虽然从一定程度提高了脚本编 写的门槛,但是对于熟悉Python的人来说还是比较简单的,况且自己写代码的话,脚本的灵活性更高。

Locust脚本就是一个普通的Python文件,但是在脚本中必须先定义一个类,然后继承Locust提供的一个HttpUser类。在测试类里,将压测的请求封装到一个函数里,一个简单的Locust脚本就完成了。

看个实际的例子,比如现在要测试这样一个接口

URL:http://192.168.2.130:8080/pinter/login

参数:userName=admin&password=1234

性能测试利器-Locust框架解析



欢迎大家来到IT世界,在知识的湖畔探索吧!

在上面脚本中,login_test是自定义的测试函数,函数上添加了一个装饰器@task,标明此函数是需要

Locust并发执行。在函数内调用了父类的client对象中post方法,发起了一次HTTP post请求。

在MyTest类里,必须添加一个wait_time属性,此属性设置了循环调用login_test之间的等待时间,

between(1,1)代表等待时间为1秒

免费领取 码同学软件测试 课程笔记+超多学习资料+完整视频+最新面试题,可以转发文章 + 私信「码同学666」获取资料哦

4 Locust脚本运行

脚本写好后,需要在命令行上去运行Locust脚本,在cmd下(或者Mac的终端、Linux命令行),进入到脚本目录,执行命令

性能测试利器-Locust框架解析

性能测试利器-Locust框架解析

然后在浏览器上访问URL:http://localhost:8089/,就可以打开Locust的压测控制页面

性能测试利器-Locust框架解析

5 Locust压测执行

在Locust的压测控制页面打开后,就可以针对脚本做一些压测的配置了,比如并发数,压测持续时间,

host等,其中:

Number of total users to simulate:并发数,代表模拟了多少虚拟用户

Hatch rate:每秒产生的用户数

Host:目标服务器的ip或域名

点击”Start swarming”,即可开始压测,在web页面会上统计出实时的性能汇总数据

性能测试利器-Locust框架解析

字段解释

性能测试利器-Locust框架解析

TPS和响应时间曲线图

性能测试利器-Locust框架解析

好啦,关于Locust的入门,今天就介绍这么多啦,后续会继续介绍Locust的高级特性和详细功能,敬请期待!

END

免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频,可以关注我们公众号哦:自动化软件测试

本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/138682.html

(0)
上一篇 17分钟前
下一篇 2025年 5月 27日 上午8:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信