最新版本Locust 2.8.3发送http协议接口性能测试

一、安装部署

        最新版本的Locust需要使用python3.6以上版本的解释器,然后使用pip安装即可

pip install locust

二、使用locust发送http/https请求

        利用locust插件对http协议接口进行压测时一般情况下需要新建类继承HttpUser,HttpUser的父类是User类,TaskSet属于任务集类,下面根据代码演示介绍2种使用方式。

from locust import HttpUser, task, TaskSet
import os
class Test1(HttpUser):
    @task
    def my_task(self):
        with self.client.get('/v2/zoho/getZohoNetwork', catch_response=True) as re:
            # print(re.text)
            if '研发' in re.text:
                re.success()
            else:
                re.failure('fail')


#1.新建类继承HttpUser
#2.新建成员方法写入被压测的接口,且需要在方法上加上@task装饰器,代表压测目标
#3.成员方法中编写http接口,使用self.client执行get或者post或者其他方法的接口,具体使用方式基本与requests库的方法类似
#4.请求中的URl可以省略前端面域名,只保留接口部分即可
#5.re.success()是断言接口成功,括号里不要填写字符串会报错,断言使用前提必须要在self.client的方法中加上catch_response=True。
#re.failure的括号中必须有参数
from locust import HttpUser, task, TaskSet
import os
class Test1(TaskSet):
    @task
    def my_task(self):
        with self.client.get('/v2/zoho/getZohoNetwork', catch_response=True) as re:
            # print(re.text)
            if '研发' in re.text:
                re.success()
            else:
                re.failure('fail')

class Test(HttpUser):
    tasks = [Test1]
    # min_wait = 100
    # max_wait = 1000

if __name__ == '__main__':
    os.system("locust -f ces.py --host=http://10.2.2.84:8087")

         第一种方式编写完代码后通过命令行的方式执行,进入到py文件所在目录下,执行下列命令即可,不支持在pycharm中使用main方法使用,会报错。第二种方式支持pycharm中使用main方法调用开启,也支持使用命令行的形式执行启动,需要在新建的Test类下使用tasks=[ ] 形式,列表中放置@task标记方法所在的类名。

locust -f 【执行的py文件】--host =【接口域名】

#查看命令行参数使用:locust -h

 三、WebUI形式启动加压

               脚本服务启动后,可以通过浏览器输入IP:PORT的方式访问脚本服务,IP为脚本启动所在机器IP,端口默认为8089,打开界面如下。第一行输入的启动总用户数,第二行输入数据为每秒启动用户数,第三行是测试接口的域名。图中示例为每秒增加1个用户,最多增加用户数量为5个。

        启动后弹出界面可以实时查看界面数据变化,文中的启动方式是不会自动停止的,需要手动停止。 

分布式方式执行:

Locust2.8.3分布式负载执行_疯狂的测试员的博客-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值