加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 介绍
    • 安装
    • 使用
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

初探Locust

09/30 10:10
665
阅读需 5 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

官方文档

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:360MoveDataUserslenovoDesktopTengine2_AutoTestScriptPerformance-TrainingConcurrentLogin.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。

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

相关推荐

电子产业图谱