初探Locust

官方文档

https://docs.locust.io/en/stable/what-is-locust.html

在这里插入图片描述

介绍

1、Locust是一个分布式性能测试的开源工具
2、一台机器支持数千用户进行压测
3、过程可以通过web UI实时监控
4、主要面向web,但不限于web
5、locust的http连接在不同系统有不同限制(本身不限制)

安装

python版本要求:3.6、3.7、3.8

pip install locust
locust --help

在这里插入图片描述

使用

先按照官方示例代码进行

import random
from locust import HttpUser, task, between

class QuickstartUser(HttpUser):
    wait_time = between(5, 9)

    @task
    def index_page(self):
        self.client.get("/hello")
        self.client.get("/world")

    @task(3)
    def view_item(self):
        item_id = random.randint(1, 10000)
        self.client.get(f"/item?id={item_id}", name="/item")

    def on_start(self):
        self.client.post("/login", {"username":"foo", "password":"bar"})

使用如下指令运行该文件:

locust --web-host 10.12.1.82 --web-port 1234 -f D:\360MoveData\Users\lenovo\Desktop\Tengine2_Auto\TestScript\Performance-Training\ConcurrentLogin.py

web API界面如下:

在这里插入图片描述随便输入打开界面:

在这里插入图片描述显然,因为我们用的官方实例,没有起到数据交互的作用,那么,我们基于官方实例,改造一下,成为我们公司的实例吧!

首先还是登录接口,根据locust的规则,结合本公司的登录接口,将脚本改造如下:

import random
from locust import HttpUser, task, between

class QuickstartUser(HttpUser):
    wait_time = between(5, 9)

    @task
    def index_page(self):
        path = "/oas-cloud/platform/uos/um/web/group/userList"
        self.client.post(path)

    @task(3)
    def view_item(self):
        item_id = random.randint(1, 10000)
        self.client.get(f"/item?id={item_id}", name="/item")

    def on_start(self):
        data = {
            "appid": "1",
            "methodname": "login-cas",
            "token": "",
            "param": "{\"loginName\":\"admin\",\"userPwd\":\"b86c381f8895b1f358ac35290254300e\",\"platformType\":1,\"operatorId\":null}"
        }
        path = "/oas-cloud/platform/uos/uum/web/user/login-cas"
        self.client.post(path, data)

在这里插入图片描述

在这里插入图片描述
我这里只改对了on_start, 而index_page是随意改的,如图已经有数据,说明,我们已经调通了locust。

总结起来,如文档所述:简单实用。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lion King

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值