一个开源性能测试工具。使用Python代码来定义用户行为。用它可以模拟百万计的并发用户访问你的系统。
为何突然关注性能测试工具?其实,我只是单纯对Locust工具本身感兴趣而已。
1、它与目前主流的LoadRunner和Jmeter玩法都不一样。
2、它完全基于Python开发,用Python来编写用户行为。
嗯,如果想用好它的话,你必须对Web开发有一定的认识。而且还要熟悉Python开发。
官方网站:http://locust.io/
Locust安装
1、安装Python:
官方:https://www.python.org/
安装Python2或Python3
2、安装Locuse
2.1,通过pip命令安装/>pipinstalllocustio
2.2,通过GitHub上克隆项目安装(Python3推荐):https://github.com/locustio/locust
3、安装pyzmq
IfyouintendtorunLocustdistributedacrossmultipleprocesses/machines,werecommendyoutoalsoinstallpyzmq.
如果你打算运行Locust分布在多个进程/机器,我们建议你也安装pyzmq.
通过pip命令安装。/>pipinstallpyzmq
4、安装成功,CMD敲入命令验证。/>locust--help
编写简单的性能测试脚本
创建load_test.py文件,通过Python编写性能测试脚本。
fromlocustimportHttpLocust,TaskSet,task
classUserBehavior(TaskSet):
@task(1)
defbaidu(self):
self.client.get("/")
classWebsiteUser(HttpLocust):
task_set=UserBehavior
min_wait=3000
max_wait=6000
创建UserBehavior()类继承TaskSet类,为用户行为。
创建baidu()方法表示一个行为,访问百度首页。用@task()装饰该方法为一个任务。1表示一个Locust实例被挑选执行的权重,数值越大,执行频率越高。在当前UserBehavior()行为下只有一个baidu()任务,所以,这里的权重设置为几,并无影响。
WebsiteUser()类用于设置性能测试。
task_set:指向一个定义了的用户行为类。
min_wait:用户执行任务之间等待时间的下界,单位:毫秒。
max_wait:用户执行任务之间等待时间的上界,单位:毫秒。
运行性能测试
切换到性能测试脚本所在的目录,启动性能测试:
.../>locust-fload_test.py--host=https://www.baidu.com
[2016-11-1922:38:16,967]fnngj-PC/INFO/locust.main:Startingwebmonitorat*:8089
[2016-11-1922:38:16,967]fnngj-PC/INFO/locust.main:StartingLocust0.7.5
load_test.py为测试脚本,https://www.baidu.com为测试的网站。
打开浏览器访问:http://127.0.0.1:8089
Numberofuserstosimulate设置模拟用户数
Hatchrate(usersspawned/second)孵化率?不知道怎么翻译,每秒产生(启动)的用户数。
点击Startswarming开始运行性能测试
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】