性能测试工具loucst使用(最新版本)

locust简介:基于python编写,简单易于上手;支持分布式;脚本编写容易,web图形化界面操作容易,结果简洁,易读。

官网:Locust - A modern load testing frameworkhttps://locust.io/一、环境搭建:

1.搭建 python环境

2.安装:pip3 install locust 

 2.1windows可以使用pycharm环境下进行搭建 或者 先从windows商店,先安装个Ubuntu再搭建环境即可

二 、脚本编写:

#!/usr/bin/env python
# _*_ coding: UTF-8 _*_

import random,gevent,requests,json
from locust import TaskSet, task, between, HttpUser


# 任务集
class MyTask(TaskSet):
    
    def on_start(self):
        print("用户初始化")
        # self.login(); #属性复制传参,可以通过这边进行,例如:传手机号,self.phone=15100000001
    def on_stop(self):
        print("用户结束")
        # self.logout();
    @task
    def goods_list(self):
        # 获取参数可以通过,self.phone传参
        url = '/light-chain-goods/app/goods/hot-goods-page?size=20¤t=1'
        header={'cache-control': "no-cache",'postman-token': "dbbc1665-e9a6-0ca4-6c69-3ecbed643866"}
        response =self.client.get(url,headers=header)
        res = response.json()
        if res['code'] == 200 and len(res['data'])!=0:
            return
        else:
            print("商品列表,获取失败 !")
# 用户类
class MyUser(HttpUser):
    tasks = [MyTask]   # 指定用户运行的任务类
    # wait_time = between(1,1) #等待时间

if __name__ == '__main__':
     os.system("locust -f locustfile.py --host=https://xxxxxxxx.ltd --web-host=\"127.0.0.1\"")  #括号里面你的请求域名地址,--web-host指定本地web地址

单个执行可以直接取消最后两行注释。

三 、分布式环境搭建:

"""
pycharm下可以如下:

目标:locust分布式
角色:
    1.主机(控制机) --master
    2.从属主机(执行机) --salve --master-host=mater主机ip地址 
    从属主机必须依赖重点(可mac,可linux,可windows):
    1.必须有python及locust环境
    2.必须有主机的副本
    

Terminal Local:
locust -f venv\locustfile.py --host=http://47.96.85.8:81  --master

Terminal Local(2):
locust -f venv\locustfile.py --worker --master-host=192.168.0.175

"""

四 、命令行运行:

"""
命令行,实现分布式
a. 命令
locust -f 路径/文件.py --master --no-web -c 100 -r 10 --expect-workers 2 --run-time 20 --csv=./master_result.csv

b. 参数
    --no-web : 无web页面运行
    -c : 虚拟用户数
    -r : 每秒孵化数
    --expect-workers : 指定从属主机数量
    --run-time : 运行指定时长
    --csv : 保存结果

"""

五 、后台服务器监控可以结合nmon使用:

服务端监控工具nmon下载安装_u013080870的博客-CSDN博客下载网址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download以centos7为例,下载建议,可以打开网页,然后全局搜索Ctrl+Fhttps://blog.csdn.net/u013080870/article/details/119605192

六、安装过程中,可能遇到问题:'locust' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

解决方案:locustio · PyPI去下载一个locustio windows下载:

locustio-1.0b2-py3-none-any.whl

可以直接在下载目录运行:pip install 

locustio-1.0b2-py3-none-any.whl

安装pip install locust

然后运行:locust --help查看是否安装成功,成功可以直接运行脚本。

参考文档:https://www.cnblogs.com/drct/p/10559092.html

感谢支持!欢迎给提出问题!感谢!您的问题是我的动力!

你可能感兴趣的:(测试,python,测试工具,压力测试)