性能测试工具——Locust框架分析
代码同学微信官方账号:自动化软件测试。
代码同学Tik Tok一号:葛聊软件测试。
1
认识蝗虫
说到性能测试工具,大家一定会想到Jmeter。是的,因为它的简单和强大的功能,它已经成为主流的压力测试工具之一。当需要实现一些高级功能时,可以使用Java语言对Jmeter进行扩展。
但是很多朋友只知道Python,不知道Java。可以用Python语言进行性能测试吗?答案是肯定的,今天我们要介绍的是基于Python的强大性能测试框架Locust。
蝗虫字面意思是“蝗虫”,意思是测压时产生的压力就像漫天的蝗虫。Locust是一个用Python实现的开源性能测试框架。与其他压力测试工具不同,Locust是完全基于事件的,并且支持分发。一个Locust节点可以轻松支持一个进程中的数千个并发用户。从这一点来看,它的设计思路远远优于Jmeter、Loadrunner等工具。
2
蝗虫环境建设
1.要安装Python,推荐Python3.6+版本。
2.安装Locust及其依赖项:pip3 install -i /simple locust。
3.要验证安装是否成功,执行命令locust -V V,如果能看到版本信息,说明安装成功。
三
蝗虫脚本
与Jmeter的接口脚本配置不同,Locust的脚本需要完全写Python代码。虽然在一定程度上提高了脚本编写的门槛,但是对于熟悉Python的人来说还是比较简单的,如果自己写代码,脚本更加灵活。
蝗虫脚本是一个普通的Python文件,但是必须先在脚本中定义一个类,然后继承蝗虫提供的一个HttpUser类。在测试类中,通过将压力测试的请求封装到一个函数中,完成了一个简单的蝗虫脚本。
看一个实际的例子,比如现在测试这样一个接口。
网址:http://192.168.2 . 130:8080/Pinter/log in
参数:username = admin &;密码=1234
在上面的脚本中,login_test是一个用户自定义的测试函数,函数中添加了一个decorator @task,表示需要这个函数。
蝗虫并发执行。父类的客户机对象中的post方法在函数中被调用,一个HTTP post请求被启动。
在MyTest类中,必须添加wait_time属性,该属性设置对login_test的循环调用之间的等待时间。
Between(1,1)表示等待时间为1秒。
四
蝗虫脚本运行
免费代码同学软件测试课程笔记+超级学习资料+完整视频+最新面试问题,可转发文章+私信“代码同学666”获取资料。
脚本写好之后,需要在命令行运行蝗虫脚本,在cmd(或者Mac终端或者Linux命令行)下,进入脚本目录,执行命令。
然后在浏览器上访问网址:http://localhost:8089/,就可以打开蝗虫的测压控制页面。
五
蝗虫压力测量执行
Locust的压力测试控制页面打开后,可以对脚本进行一些压力测试配置,比如并发,压力测试时长,
主持人等。,其中:
要模拟的总用户数:并发数,表示模拟了多少虚拟用户。
孵化率:每秒生成的用户数。
主机:目标服务器的ip或域名。
点击“开始蜂拥”开始压力测试,在网页会议上统计实时性能汇总数据。
现场解释
TPS和响应时间图
好了,今天对Locust的介绍就到此为止,以后我们还会继续介绍Locust的高级特性和详细功能,敬请期待!
本文版权归作者所有。任何形式的转载请联系作者授权并注明出处。