Python3.7.9+Locust1.4.3版本性能测试工具案例分享

一、Locust工具介绍

1.概述

Locust是一款易于使用的分布式负载测试工具,完全基于事件,使用python开发,即一个locust节点也可以在一个进程中支持数千并发用户,不使用回调,通过gevent使用轻量级过程(即在自己的进程内运行)。

 

2.常见性能测试工具比较

Python3.7.9+Locust1.4.3版本性能测试工具案例分享

 

3.环境搭建

源码安装:下载源码https://github.com/locustio/locust,进入文件夹执行安装命令:python setup.py install

pip安装:pip install locust

 

二、Locust常用类和方法

Python3.7.9+Locust1.4.3版本性能测试工具案例分享

 

三、Locust常用参

Python3.7.9+Locust1.4.3版本性能测试工具案例分享

 

 

四、案例

1.参数化

# -*- coding: utf-8 -*- import os,random from locust import TaskSet, task,HttpUser, between #任务类 class Testlocust(TaskSet): def on_start(self): self.login_headers={'x-client-id': 'xxxxxx'} #头文件 self.data=[ { "account_name": "登录账号1", "user_name": "登录账号1", "hashed_password": "登录密码1" }, { "account_name": "登录账号2", "user_name": "登录账号2", "hashed_password": "登录密码2" }, { "account_name": "登录账号3", "user_name": "登录账号3", "hashed_password": "登录密码3" } ] #登录账号密码 print("------on start------") @task() def userlogin(self): r = self.client.post(url='/v1/auth/users/login', headers=self.login_headers, json=random.choice(self.data),name='登录',verify=False) #使用choice方法参数化随机登录 assert r.status_code == 200 and r.json()['status']==0 #登录断言 def on_stop(self): print("------on stop------") #用户类 class WebsiteUser(HttpUser): #locust1.0版本以前是HttpLocust tasks = [Testlocust] #locust1.0版本以前是task_set=Testlocust host = 'https://xxxxxx' #被测主机地址 wait_time = between(min_wait=1,max_wait=5) #任务之间的等待时间 if __name__ == "__main__": os.system("locust -f locust_XX.py") #执行locust脚本

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wspdgf.html