python设置持续压测时间_【Linux】【压测】基于python Locus库实现自动化压测实践...

关于python+locust系列:

基于Python locust,实现自动化压测,这里直接介绍实践的情况,对于环境与安装等,请参考前一篇文章:【Linux】【压测】关于python实现性能自动化工具之Locust

首先大概说下本次实践的思路,主要就是分如下几个步骤:

1.环境安装,与待压测的数据、API准备;

2.代码编写,涉及到读取外部参数等;

3.压测执行,与运行结果查看,监控等;

下面,我按此3个步骤介绍:

1.环境安装,与待压测的数据、API准备;

由于之前项目需要,我本地安装有Python2、Python3两个版本,可以根据需要随时切换使用。

IDE,我本地也有两个工具:PyCharm、VSCode。本次基于VSCode测试。

Python2、Python3、PyCharm、VSCode这些的相关安装配置之类,基本没有什么,此不赘述。

首先需要准备好待压测的API、以及待压测的参数。

这里我先用一个基本的GET的做样例:

GET /api/rest/v1/en/haochuangrtest/query?number=1234567890@HAOCHUANG

参数的话,目前这个主要是number后面的 需要变化,我们可以根据需要通过脚本生成,或者直接从DB里面获取一些,并写入到txt中。

这一步的目标就是要首先保证API和参数本身可用,可访问,http请求可达。

不论是是哟个postman还是postwoman去测试都可以,只要API请求返回正确就可以了。

2.代码编写,涉及到读取外部参数等;

代码编写,我举个目前的样例如下:

test_haochuang_locust.py

from locust importHttpLocust, TaskSet, task, HttpUser, between'''D:\CODE\CODE_VSCode\HAO_VSCcode\HAO_AutoTest\LOCUST\HAO_Locust\LocustDemo> locust --host=http://localhost -f .\test_haochuang\test_haochuang_locust.py'''

classAdminLoadTest(HttpUser):

wait_time= between(5, 9)"""创建后台管理站点压测类,需要继承TaskSet

可以添加多个测试任务"""

@task(3)defget_status_more_HAOCHUANG(self):"""查询实例方法

:return:"""

rootdir= "D:\\CODE\\CODE_VSCode\\HAO_VSCcode\\HAO_AutoTest\\LOCUST\\HAO_Locust\\LocustDemo\\test_haochuang\\HAOCHUANG.txt"with open(rootdir,'r') as file_to_read:whileTrue:

line=file_to_read.readline()if notline:breakline= line.strip('\n')

self.client.get("https://www.cnblogs.com/haochuang/api/rest/v1/en/haochuang/query?number="+line)

file_to_read.close()

@taskdefget_status_one_HAOCHUANG(self):"""当任何一个task调度执行之前,

on_start实例方法会被调用

先登录

:return:"""self.client.get("https://www.cnblogs.com/haochuang/api/rest/v3/en/haochuang/query?number=26572316@HAOCHUANG")

classRunLoadTests(HttpUser):"""创建运行压测类"""task_set= AdminLoadTest

txt文件比较简单,里面就是测试数据,主要是在python中需要把路径制定正确,路径中的注意转义;

具体代码写好之后,我们可以运行:

PS D:\CODE\CODE_VSCode\HAO_VSCcode\HAO_AutoTest\LOCUST\HAO_Locust\LocustDemo> locust --host=http://localhost -f .\test_haochuang\test_haochuang_locust.py

然后,在浏览器中

3.压测执行,与运行结果查看,监控等;

Charts:

Failures:

Download Datas:

下载文件可见结果如下:

至于等待时间,以及压测其他参数调优,过程控制等,我下次再实践之后补充文档介绍。

待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值