01.Locust特点
1. 用简单python语言编写测试脚本,非常简单轻便。不需要笨重的UI和臃肿的xml代码,基于协同而非回调。
2. 分布式的,可扩展性的,可模拟上百万用户。Locust支持多机器的性能测试,每台机器可以模拟上千用户,当然这是可以控制的。
3. Locust有一个整洁的HTML+JS的用户界面,实时显示相关测试细节。由于用户界面是基于网络的,它是跨平台的且容易扩展。
4. 可以测试任何系统,尽管Locust是基于网站的,但它几乎可以测试任何系统,只需要你写一个客户端。
02.简介
- 安装
使用pip直接安装,炒鸡简单
- 简单的例子
from locust import HttpLocust, TaskSet
def login(self):
self.client.post("/login", {"username":"test", "password":"1234"})
def index(self):
self.client.get("/")
def profile(self):
self.client.get("/myprofile")
class UserBehavior(TaskSet):
tasks = {index:2, profile:1}
def on_start(self):
login(self)
class WebsiteUser(HttpLocust):
task_set = UserBehavior
min_wait=5000
max_wait=9000
- 运行locust
打开终端,键入如下命令
locust -f ../locust_files/上面的文件名.py --host=http://example.com
- locust图形界面
因为是在本地运行locust,所以在浏览器键入
输入需要模拟的用户数量和每秒启动的用户数量,完成压力测试。