Python Locust性能测试框架实践

[本文出自天外归云的博客园]

Locust的介绍

Locust是一个python的性能测试工具,你可以通过写python脚本的方式来对web接口进行负载测试。

Locust的安装

首先你要安装python2.6以上版本,而且有pip工具。之后打开命令行,分别安装locustio和pyzmq(命令如下):

pip install locustio
pip install pyzmq

之后我们就可以写性能测试脚本了。

PS:如果是python3,不能使用pip安装目前。需要在github上下载locust项目包到本地,然后在包路径下执行命令安装:

python setup.py install

Locust脚本编写

接下来我们拿两个接口做一下测试,编写脚本如下(每一步都有注释)。我来解释一下,首先我们要import进来三个类,分别是HttpLocust(用来模拟发请求的类)、TaskSet(顾名思义,任务集)、task(任务类)。额外的,为了方便观察接口测试的执行结果,我引入了json类用来解析web接口的返回值。我还引入了subprocess类用来执行一下shell命令,自启动Locust。这里有三个类,一个是UserBehavior(名字随便起,但传入TaskSet参数,说明这是一个包含了任务集的类),里面on_start函数可有可无,他会先于所有task函数运行。剩下被@task装饰器装饰的方法都是任务方法,里面包含了待请求的接口等信息,传入的参数代表了权重,如下所示两个被@task装饰的方法分别传入1和2,这意味着每3个人里有两个人会有1个模拟用户执行list_header方法,2个模拟用户执行list_goods方法。这个参数你也可以不传入,那就意味着模拟用户会随机访问所有被@task装饰的方法。这里面我对于每个接口的返回值都做了一下判断,首先将返回的字符串转成json格式并获取返回字段result的值,如果不是100就用Locust自带的报错方法打印出错信息;另两个类是HttpLocust类(仍然是名字随便起但传入参数必须得是HttpLocust),是用来模拟用户的类,包含了一些模拟用户信息,其中task_set变量的值用来指定模拟用户所对应要完成的TaskSet类中包含的请求,min_wait和max_wait(最小等待时间和最大等待时间用来模拟用户每两步操作之间的间隔时间,这里也就是模拟用户每执行两个请求之间所间隔的时间)。对Locust类我们可以指定权重,对weight变量的值进行指定。如下所示,两个Locust类的权重分别为1和3,这意味着两个Locust类的模拟用户人数为1:3的关系。最后我加了一个main函数用来执行shell命令,这个shell命令也可以不再本文件中执行,如果写在脚本中的话,直接在命令行中调用该python文件即可,如果不写在脚本中(注释掉最后两行),则需要在命令行终端里对Locust项目进行启动。

from locust import HttpLocust,TaskSet,task
import subprocess
import json

#This is the TaskSet class.
class UserBehavior(TaskSet):
    #Execute before any task.
    def on_start(self):
        pass

    #the @task takes an optional weight argument.
    @task(1)
    def
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建 Locust 性能测试框架相对简单,以下是基本步骤: 1. 安装 PythonLocust 是基于 Python 编写的,所以首先需要安装 Python。您可以从 Python 官方网站下载并安装最新版本的 Python。 2. 安装 Locust:一旦 Python 安装完成,可以使用 pip 命令来安装 Locust。在命令行中输入以下命令安装 Locust: ``` pip install locust ``` 3. 创建测试脚本:创建一个 Python 文件,例如 `locustfile.py`,用于编写 Locust 测试脚本。在脚本中,您可以定义用户行为、任务以及性能测试的逻辑。 4. 编写测试脚本:在 `locustfile.py` 文件中,您可以使用 Locust 提供的装饰器来定义用户行为,例如 `@task` 和 `@between`。您还可以设置用户的行为频率和任务执行的时间间隔。 5. 启动 Locust:在命令行中导航到测试脚本所在的目录,并输入以下命令来启动 Locust: ``` locust -f locustfile.py ``` 这将启动 Locust 并提供一个 web 界面,您可以通过浏览器访问该界面。 6. 配置和运行测试:通过 Locust 的 web 界面,您可以配置并运行测试。您可以设置并发用户数、用户生成速率等参数,并监控测试的指标和结果。 7. 分析测试结果:Locust 提供了丰富的测试结果和统计信息,您可以通过 web 界面或者命令行查看并分析测试结果,以评估系统的性能。 这就是搭建 Locust 性能测试框架的基本步骤。希望对您有所帮助!如有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值