压力测试-Locust框架基本使用及更新报错解决方案

近期了解到locust在1.0版本之后出现了部分的改动,使用最新locustio加载时可能会出现一些问题,本文将讲述locust的使用基础及常见的环境异常。

******【环境方面】******

报错信息1:

无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
#此报错会导致无法运行pip命令,可能因为pip文件受损或未安装造成

解决方案:

 1、进入pip官网:https://pypi.org/project/pip/pip · PyPIThe PyPA recommended tool for installing Python packages.https://pypi.org/project/pip/

2、点击Download files下载.tar.gz格式文件

3、将文件解压到一个新建的纯英文文件夹下,并通过文件夹地址栏进入cmd的dos窗口,输入命令:python setup.py install(前提是电脑已经安装了python解释器

python setup.py install
#Dos界面输入

4、 提示success相关字样后关闭窗口,重启pycharm编辑器并运行pip命令即可。

报错信息2:

You are using pip version 21.1.2; however, version 21.3.1 is available.
You should consider upgrading via the 'D:\environment_test\Python_ui_Auto\venv\Scripts\python.exe -m pip install --upgrade pip' command
 

You are using pip version 21.1.2; however, version 21.3.1 is available.
You should consider upgrading via the 'D:\environment_test\Python_ui_Auto\venv\Scripts\python.exe -m pip install --upgrade pip' command
#此报错可能会造成引导安装新版的locust时无法加载最新资源

解决方案:

在Terminal中输入如下命令后回车即可,安装后重启编辑器或等待自动加载

python -m pip install -U pip
#python官方方法,在线更新pip

报错信息3:

ERROR: Could not find a version that satisfies the requirement locust

ERROR: Could not find a version that satisfies the requirement locust
#版本号未找到

解决方案:

使用pip install locustio==版本号进行安装,注意locust后面有io,安装后重启编辑器或等待自动加载

pip install locustio==0.14.6
#以0.14.6版本为例

目前已更新至1.0之后版本,后文会讲解1.0之后版本变化

报错信息4:

Traceback (most recent call last):
File "D:/environment_test/ui_auto_web/script/Pressure_test.py", line 1, in <module>
from locust import TaskSet, HttpLocust, task, constant, constant_pacing, between
ImportError: cannot import name 'HttpLocust'

Traceback (most recent call last):
  File "D:/environment_test/ui_auto_web/script/Pressure_test.py", line 1, in <module>
    from locust import TaskSet, HttpLocust, task, constant, constant_pacing, between
ImportError: cannot import name 'HttpLocust'
#1.0版本以后的locust使用之前的版本包会造成这个问题

解决方案:

将HttpLocust变更为HttpUser,且实例化时task_set修改成task_create


******新旧版本使用过程中主要变化点******

1、早期版本(0.14.6之前)使用Min_wait=xxx和Max_wait=xxx来设置每个虚拟用户的创建间隔时间,实践过程中发现此方法虽然没有报错但似乎已经失效,替代方案为:

wait_time = constant(5)
#放在用户类中使用,间隔等待时间,需要提前导包

2、1.0之后版本的locustio,不能再使用名称task_set来实例化,需将其替换为task_create或其它名称,不与其重名即可。

3、1.0之后版本的locustio在定义用户类时不可以再继承HttpLocust,需继承HttpUser类,此改动也需要将导包的位置进行修改,必须先确保是1.0之后的locustio才需要这样修改 ,查询当前locust版本命令:locust -V

locust -V
#查询当前locust版本,V是大写的

******基础结构使用******

基本框架结构: 

from locust import TaskSet, HttpLocust, task, constant
#导包  1.0之后版本需把HttpLocust替换为HttpUser
class Task01(TaskSet):
#定义用户集
    @task(x)
    #任务(比重)
    def task_01(self):
        self.json_data = {
            "x": 1,
            "x": 1,
            "x": "123",
            "x": "456",
            "x": 1
        }
        self.Token = "x"
        #Token
        self.new_headers = {"Authorization-Token": self.Token, "Content-Type": "application/json"}
        self.response= self.client.post("/path", json=self.json_data,
                                          headers=self.new_headers)
        status_code= self.response.status_code
        res_json = self.response1.json()
        print("响应数据为:{},状态码为:{}".format(res_json, status_code))
    @task(x)
    #任务(比重)
    def task_02(self):
        pass
    ······
class Administrator(HttpLocust):
#定义用户类 1.0之后版本需把HttpLocust替换为HttpUser
    task_set = Task01
    #1.0之后版本不能用task_set命名
    wait_time = constant(x)
    host = "http://192.168.x.x:xxxx"

启动方法:

Terminal:locust -f xx.py (二级目录的话先cd到最后一层)

通过指定端口号访问127.0.0.1:端口号

注:如果127.0.0.1无效,则使用localhost替代

分布式配置方法:

在其它机器上部署相同的环境及文件后,使用如下命令来进行角色分配

locust -f xx.py --master
#控制机

locust -f xx.py --slave --master-host=控制机IP
#执行机

关注我,不迷路

******本文相关专栏******

软件测试-压力测试专栏(点击进入)


  ******我的其它作品专栏******

PC常见故障汇总专栏(点击进入)

EXCEL综合场景应用详解(点击此处进入)

全国计算机等级考试-二级python基础(点击此处进入)

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
搭建 Locust 性能测试框架相对简单,以下是基本步骤: 1. 安装 Python:Locust 是基于 Python 编写的,所以首先需要安装 Python。您可以从 Python 官方网站下载并安装最新版本的 Python。 2. 安装 Locust:一旦 Python 安装完成,可以使用 pip 命令来安装 Locust。在命令行中输入以下命令安装 Locust: ``` pip install locust ``` 3. 创建测试脚本:创建一个 Python 文件,例如 `locustfile.py`,用于编写 Locust 测试脚本。在脚本中,您可以定义用户行为、任务以及性能测试的逻辑。 4. 编写测试脚本:在 `locustfile.py` 文件中,您可以使用 Locust 提供的装饰器来定义用户行为,例如 `@task` 和 `@between`。您还可以设置用户的行为频率和任务执行的时间间隔。 5. 启动 Locust:在命令行中导航到测试脚本所在的目录,并输入以下命令来启动 Locust: ``` locust -f locustfile.py ``` 这将启动 Locust 并提供一个 web 界面,您可以通过浏览器访问该界面。 6. 配置和运行测试:通过 Locust 的 web 界面,您可以配置并运行测试。您可以设置并发用户数、用户生成速率等参数,并监控测试的指标和结果。 7. 分析测试结果:Locust 提供了丰富的测试结果和统计信息,您可以通过 web 界面或者命令行查看并分析测试结果,以评估系统的性能。 这就是搭建 Locust 性能测试框架基本步骤。希望对您有所帮助!如有任何进一步的问题,请随时提问。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@Liu_GuoXing

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

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

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

打赏作者

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

抵扣说明:

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

余额充值