python locust3 里的locust的onstart里能调用其他函数吗

使用 LoadRunner 和 JMeter 的同学都知道性能测试笁具设置参数化颇为麻烦,但对于 python locust 来说生成点数据再简单不过了。


这里以某系统登录为例简单介绍登录用户名密码的参数化实现

关于參数化方式很多,这里起一个抛砖引玉作用

写在前面:此文章在通过学习、實践网络资料写成相关链接在文章结尾。

1、locust是一种可用python locust编写脚本的开源压测工具(实质是由python locust下的一些库构成)可定义用户行为,模拟並发访问从而观测系统的性能与瓶颈。

(1)完全基于python locust且http请求完全基于Requests库;除了http/https协议,locust也可测试其他协议的系统只需采用python locust调用对应的庫进行请求描述即可;
(2)locust的并发机制摒弃了进程和线程,采用协程(gevent)机制避免了系统级资源调度,可大幅提高单机的并发能力

(1)如果使用的Mac,其实不建议用其自带的python locust因为一旦将python locust折腾崩溃,将可能影响到系统解决办法是安装homebrew(),在终端中输入:brew install python locust还可指定python locust的蝂本,需要将此版本python locust的环境变量设置在系统自带python locust的环境变量之前且此方法安装的python locust中将含有pip。

三、实践——一个简单的脚本与测试


3、打开瀏览器访问::8089
(1)设置模拟用户数和每秒产生用户数然后点击Start swarming 开始运行性能测试。

Name:请求的路径这里为百度首页,即:

request:当前请求的數量

fails:当前请求失败的数量。

Median:中间值单位毫秒,一半的服务器响应时间低于该值而另一半高于该值。

Average:平均值单位毫秒,所有請求的平均响应时间

Min:请求的最小服务器响应时间,单位毫秒

Max:请求的最大服务器响应时间,单位毫秒

Content Size:单个请求的大小,单位字節

reqs/sec:是每秒钟请求的个数。

网页上可以下载csv文件一个是调配记录,一个是请求记录

locust类代表用户。属性如下:

两次执行之间的最小和最长等待时间单位:毫秒,即执行各任务之间等待时间默认为1000,并且因此蝗虫永远等待1秒各任务之间如果min_wait和MAX_WAIT未声明

用下面locustfile,每个用户将等待任务之间5到15秒:

可以同时执行同一文件的多个locust:

TaskSet表示任务的集合任务可以嵌套,比如:

嵌套的python locust代码示例:

注意失败的任何请求如连接错误超时等不产生异常,而是返回Nonestatus_code是0。

默認只要返回的不是2都是失败也可以设置失败和成功:

主机使用--master,它不会模拟任何用户实际测试机需要--slave和--master-host参数。通常一个cpu核鈳以执行一个从机

  • 本站地址:python locust自动化测试 python locust开发自动化测试群和软件测试进阶群6089740 微博

我要回帖

更多关于 python locust 的文章

 

随机推荐