百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

性能测试利器-Locust框架解析(测试用的框架)

ccwgpt 2025-06-13 11:42 19 浏览 0 评论

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

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

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


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

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

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

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

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


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


4 Locust脚本运行


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

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


5 Locust压测执行


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

host等,其中:

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

Hatch rate:每秒产生的用户数

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

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

字段解释

TPS和响应时间曲线图

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


END

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

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

相关推荐

自己动手写Android数据库框架_android开发数据库搭建

http://blog.csdn.net/feiduclear_up/article/details/50557590推荐理由关于Android数据库操作,由于每次都要自己写数据库操作,每次还得去...

谷歌开源大模型评测工具LMEval,打通谷歌、OpenAI、Anthropic

智东西编译|金碧辉编辑|程茜智东西5月28日消息,据科技媒体TheDecoder5月26日报道,当天,谷歌正式发布开源大模型评测框架LMEval,支持对GPT-4o、Claude3.7...

工信部:着力推动大模型算法、框架等基础性原创性的技术突破

工信部新闻发言人今日在发布会上表示,下一步,我们将坚持突出重点领域,大力推动制造业数字化转型,推动人工智能创新应用。主要从以下四个方面着力。一是夯实人工智能技术底座。通过科技创新重大项目,着力推动大模...

乒乓反复纠结“框架不稳定”的三个小误区

很多球友由于对框架的认知不清晰,往往会把“框架不稳定”当成一种心理负担,从而影响学球进度,其典型状态就是训练中有模有样,一旦进入实战,就像被捆住了手脚。通过训练和学习,结合“基本功打卡群”球友们交流发...

前AMD、英特尔显卡架构师Raja再战GPU,号称要全面重构堆栈

IT之家8月5日消息,知名GPU架构师拉贾科杜里(RajaKoduri)此前曾先后在AMD和英特尔的显卡部门担任要职。而在今日,由Raja创立的GPU软件与IP初创企...

三种必须掌握的嵌入式开发程序架构

前言在嵌入式软件开发,包括单片机开发中,软件架构对于开发人员是一个必须认真考虑的问题。软件架构对于系统整体的稳定性和可靠性是非常重要的,一个合适的软件架构不仅结构清晰,并且便于开发。我相...

怪不得别人3秒就知道软考案例怎么做能50+

软考高级统一合格标准必须三科都达到45分,案例分析也一直是考生头疼的一门,但是掌握到得分点,案例能不能50+还不是你们说了算吗?今天就结合架构案例考点,分享实用的备考攻略~一、吃透考点,搭建知识框架从...

UML统一建模常用图有哪些,各自的作用是什么?一篇文章彻底讲透

10万+爆款解析:9大UML图实战案例,小白也能秒懂!为什么需要UML?UML(统一建模语言)是软件开发的“蓝图”,用图形化语言描述系统结构、行为和交互,让复杂需求一目了然。它能:降低沟通成本避...

勒索软件转向云原生架构,直指备份基础设施

勒索软件组织和其他网络犯罪分子正越来越多地将目标对准基于云的备份系统,对久已确立的灾难恢复方法构成了挑战。谷歌安全研究人员在一份关于云安全威胁演变的报告中警告称,随着攻击者不断改进数据窃取、身份泄露和...

ConceptDraw DIAGRAM:释放创意,绘就高效办公新未来

在当今数字化时代,可视化工具已成为提升工作效率和激发创意的关键。ConceptDrawDIAGRAM,作为一款世界顶级的商业绘图软件,凭借其强大的功能和用户友好的界面,正逐渐成为众多专业人士的首选绘...

APP 制作界面设计教程:一步到位_app界面设计模板一套

想让APP界面设计高效落地,无需繁琐流程,掌握“框架搭建—细节填充—体验优化”三步法,即可一步到位完成专业级设计。黄金框架搭建是基础。采用“三三制布局”:将屏幕横向三等分,纵向保留三...

MCP 的工作原理:关键组件_mcp部件

以下是MCP架构的关键组件:MCP主机:像ClaudeDesktop、GitHubCopilot或旅行助手这样的AI智能体,它们希望通过MCP协议访问工具、资源等。MCP主机会...

软件架构_软件架构师工资一般多少

软件架构师自身需要是程序员,并且必须一直坚持做一线程序员。软件架构应该是能力最强的一群程序员,他们通常会在自身承接编程任务的同时,逐渐引导整个团队向一个能够最大化生产力的系统设计方向前进。软件系统的架...

不知不觉将手机字体调大!老花眼是因为“老了吗”?

现在不管是联系、交友,还是购物,都离不开手机。中老年人使用手机的时间也在逐渐加长,刷抖音、看短视频、发朋友圈……看手机的同时,人们也不得不面对“视力危机”——老花眼,习惯眯眼看、凑近看、瞪眼看,不少人...

8000通用汉字学习系列讲座(第046讲)

[表声母字]加(续)[从声汉字]伽茄泇迦枷痂袈笳嘉驾架咖贺瘸(计14字)嘉[正音]标准音读jiā。[辨形]上下结构,十四画。会意形声字,从壴从加,加也表声。注:从壴,字义与鼓乐有关;从加,字义与...

取消回复欢迎 发表评论: