1. 环境准备

  安装python3.6 ,安装步骤略

  pip install locust

  安装完成后使用locust -V检查

2.locust使用,先编辑一个简单的load_test.py的脚本

from locust import HttpLocust,TaskSet,task

class UserBehavior(TaskSet):

    @task
def baidu_index(self):
self.client.get("/") class WebsiteUser(HttpLocust):
task_set = UserBehavior
min_wait = 3000
max_wait = 6000

  

创建UserBehavior()类继承TaskSet类,为用户行为。

创建baidu() 方法表示一个行为,访问百度首页。

用@task() 装饰该方法为一个任务

创建WebsiteUser()类用于设置性能测试。

  task_set :指向一个定义了的用户行为类。

  min_wait :用户执行任务之间等待时间的下界,单位:毫秒。

  max_wait :用户执行任务之间等待时间的上界,单位:毫秒

3. 运行locust

locust -f load_test.py --host=https://www.cnblogs.com/Sandy-1128/p/appium-python-sandy-0306-5.html

通过浏览器访问localhost:8089

Number of users to simulate 设置模拟用户数

Hatch rate (users spawned/second)  每秒产生(启动)的用户数。

点击Start swarming 开始运行性能测试

也可以使用无web界面访问

  locust -f load_test.py --host=https://www.baidu.com --no-web -c 2 -r 1 -t 1m

启动参数:

  –no-web 表示不使用Web界面运行测试。

  -c 设置虚拟用户数。

  -r 设置每秒启动虚拟用户数。

  -t 设置设置运行时间

那我们看另一个实例:

from locust import HttpLocust, TaskSet, task

class WebsiteTasks(TaskSet):
def on_start(self):
self.client.post("/", {
"username": "test",
"password": "123456"
}) @task(2)
def index(self):
self.client.get("/p/appium-python-sandy-0306-5.html") @task(1)
def about(self):
self.client.get("/locust-sandy-0319/") class WebsiteUser(HttpLocust):
task_set = WebsiteTasks
host = "https://www.cnblogs.com/Sandy-1128"
min_wait = 1000
max_wait = 2000

  

在这个示例中,定义了针对"https://www.cnblogs.com/Sandy-1128

网站的测试场景:先模拟用户登录系统,然后随机地访问首页(/)和关于页面(/about/),请求比例为2:1;并且,在测试过程中,两次请求的间隔时间为1~2秒间的随机值

那么,如上Python脚本是如何表达出以上测试场景的呢?

从脚本中可以看出,脚本主要包含两个类,一个是WebsiteUser(继承自HttpLocust,而HttpLocust继承自Locust),另一个是WebsiteTasks(继承自TaskSet)。事实上,在Locust的测试脚本中,所有业务测试场景都是在Locust和TaskSet两个类的继承子类中进行描述的。

那如何理解Locust和TaskSet这两个类呢?  请见下一篇。

开源性能测试工具Locust使用篇(一)的更多相关文章

  1. 开源性能测试工具Locust使用篇(三)

    脚本增强 面对较复杂的测试场景,我们可能还是会感觉无从下手:例如,很多时候脚本需要做关联或参数化处理,Locust中就不知道怎么实现了.可能也是这方面的原因,感觉难以将Locust应用到实际的性能测试 ...

  2. 开源性能测试工具Locust使用篇(二)

    那如何理解Locust和TaskSet这两个类呢? class HttpLocust(Locust) 在Locust类中,具有一个client属性,它对应着虚拟用户作为客户端所具备的请求能力,也就是我 ...

  3. 性能测试工具Locust,一个开源性能测试工具

    性能测试工具Locust,一个开源性能测试工具使用Python代码来定义用户行为.用它可以模拟百万计的并发用户访问你的系统.1.它与目前主流的LoadRunner和Jmeter玩法都不一样.2.它完全 ...

  4. 性能测试工具Locust

    An open source load testing tool. 一个开源性能测试工具. define user behaviour with python code, and swarm your ...

  5. 性能测试进阶:(一)性能测试工具Locust

    An open source load testing tool. 一个开源性能测试工具. define user behaviour with python code, and swarm your ...

  6. 【转】开源性能测试工具 - Apache ab 介绍

    版权声明:本文可以被转载,但是在未经本人许可前,不得用于任何商业用途或其他以盈利为目的的用途.本人保留对本文的一切权利.如需转载,请在转载是保留此版权声明,并保证本文的完整性.也请转贴者理解创作的辛劳 ...

  7. 1 认识开源性能测试工具jmeter

    典型的性能测试工具主要有2个,Load Runner和jmeter.Load Runner是商业化的,Jmeter是开源的.下面我们认识一下开源性能测试工具jmeter. 1.jmeter是什么? A ...

  8. 转 1 认识开源性能测试工具jmeter

    1 认识开源性能测试工具jmeter   典型的性能测试工具主要有2个,Load Runner和jmeter.Load Runner是商业化的,Jmeter是开源的.下面我们认识一下开源性能测试工具j ...

  9. 性能测试工具Locust的使用

    一.写在前面 官网:https://www.locust.io/ 官方使用文档:https://docs.locust.io/en/latest/ 大并发量测试时,建议在linux系统下进行. 二.L ...

随机推荐

  1. jQuery自定义alert,confirm方法及样式

    学过JavaScript的都知道,alert().confirm()都是window对象特有的方法,而这两个方法我们平时使用的频率也很高,但是比较扎心的就是他自带的样式太... 因此,我整理了一个比较 ...

  2. 1、python环境安装及软件介绍

    软件: python3.0 下载地址:https://www.python.org/downloads/windows/ pycharm 下载地址: https://www.jetbrains.com ...

  3. cdnbest节点后台的3311如何登陆

    如图操作点节点列表中节点管理修改节点3311的权限(因为初次安状节点权限是随机生成的,所以要修改),同时开启3311,然后就能在浏览器登陆节点后台了

  4. centos7源码安装heartbeat可能出现的错误以及解决办法

    问题:ipmilan_command.c: In function 'setup_ipmi_conn':ipmilan_command.c:283:2: error: 'sel_alloc_selec ...

  5. [leetcode]53. Maximum Subarray最大子数组和

    Given an integer array nums, find the contiguous subarray (containing at least one number) which has ...

  6. Django通过字段获取关联模型

    #根据字段获取关联表 filter_field_obj=self.model._meta.get_field(filter_field) print('filter_field_obj:',filte ...

  7. 写一份简单的webpack2 的配置文件,无比简单

    这是一份自己用到的webpack2的配置写法,从看webpack2开始,发现自己越来越懒了,现在html文件都不想自己写了,直接自己生成... 哈哈,这次是可以无比完美的导入css啦 开发的时候在命令 ...

  8. PHP开发——环境安装

    PHP环境 Apache IDE的选择

  9. 阿里云ECS装LAMP环境

    学生计划9.9买个一个ECS,要做PHP开发,所以搭建一个Lamp的环境 1.使用镜像,附件 sh-1.5.5附于文后. 2.一键安装 2.1 输入命令:chmod –R 777 sh-1.5.5 c ...

  10. C++ 提取网页内容系列之三

    标 题: C++ 提取网页内容系列作 者: itdef链 接: http://www.cnblogs.com/itdef/p/4171659.html 欢迎转帖 请保持文本完整并注明出处 这次继续下载 ...