公司在推行自动化测试,然后locust也是推行的工具之一,作为小白的我,尝试安装了下locust,出现了各种问题,百度搜了很久也没有解决问题,最后在公司大神的帮助下解决了问题,现在记录一下解决方法。(也许不能解决所有的问题,但是可以尝试一下,万一解决了呢^_^)
一、安装python
locust是一种使用python语言的框架,所有在使用之前要安装好python,及其配置python环境。
因为mac自带python,但是自带的python版会比较低,对于locust的兼容性不是很好(我也试过python3,还是不可以安装)所以这里安装的是2.7.15
brew search python 这个是收拾python包的,看你是否安装了python,其中有对勾的就是你正在使用的版本
使用这个命令进行安装
brew install python2
二、python环境变量配置
安装完成之后,接下来就该配置环境变量了
open ~/.bash_profile 这个是打开配置文件
添加如下的配置:
PATH=”/usr/local/Cellar/python@2/2.7.15/bin:${PATH}”
export PATH
source ~/.bash_profile 使修改的配置文件立即生效
三、安装locustio
pip install locustio 安装命令
安装之后,使用locust –help这个命令查看,是否安装成功
安装成功之后在执行安装的命令,效果应该是这样的:
四、安装pyzmq
pip install pyzmq 安装命令
五、简单的使用、查看安装效果
创建load_test.py文件,通过Python编写性能测试脚本。
from locust import HttpLocust, TaskSet, taskclass UserBehavior(TaskSet):@task(1)def baidu(self):self.client.get("/")class WebsiteUser(HttpLocust):task_set = UserBehaviormin_wait = 3000max_wait = 6000
创建UserBehavior()类继承TaskSet类,为用户行为。
创建baidu() 方法表示一个行为,访问百度首页。用@task() 装饰该方法为一个任务。1表示一个Locust实例被挑选执行的权重,数值越大,执行频率越高。在当前UserBehavior()行为下只有一个baidu()任务,所以,这里的权重设置为几,并无影响。
WebsiteUser()类用于设置性能测试。
task_set :指向一个定义了的用户行为类。
min_wait :用户执行任务之间等待时间的下界,单位:毫秒。
max_wait :用户执行任务之间等待时间的上界,单位:毫秒。
切换到性能测试脚本所在的目录,启动这个python脚本
…/> locust -f load_test.py –host=https://www.baidu.com
其中:load_test.py 为测试脚本,https://www.baidu.com 为测试的网站。
运行的效果如下
打开浏览器访问:http://127.0.0.1:8089,效果图如下: