python自动化测试-Python实现性能自动化测试竟然如此简单
一、思考❓❔
1.什么是性能自动化测试?
性能系统负载能力超负荷运行下的稳定性系统瓶颈自动化测试使用程序代替手工提升测试效率性能自动化使用代码模拟大批量用户让用户并发请求多页面多用户并发请求采集参数,统计系统负载能力生成报告
2.Python中的性能自动化测试库?
locust库
使用Python使用代码来创建批量用户分布式可以在多台服务器上,进行分布式性能测试可伸缩性强稳定、应用广泛经得住各种场景下的考验基于web ui界面展示测试详情能测任何系统
二、基础操作��
1.安装locust
使用官方pypi源来安装
pip install locustio
使用豆瓣pypi源来安装(推荐)
pip install -i https://pypi.douban.com/simple locustio
安装成功之后,在cmd控制台将会新增一条命令,可输入如下命令查看:
locust --help
2.基本用法
在项目根目录下创建locustfile.py文件
from locust import Locust, TaskSet, task
class MyTasks(TaskSet):
"""
创建测试任务类,需要继承TaskSet
可以添加多个测试任务
"""
# 每个测试任务,往往会以实例方法的形式来呈现
# 同时需要使用task装饰器来装饰测试任务
@task
def one_task(self):
print("执行一个伟大的测试任务!")
class RunTasks(Locust):
"""
创建运行测试类,需要继承Locust父类
"""
task_set = MyTasks # 指定测试任务类,使用task_set覆盖父类的类属性
min_wait = 2000 # 指定启动任务间隔的时间范围(单位毫秒):2~5秒之间
max_wait = 5000 # 使用min_wait、max_wait覆盖父类的类属性
执行性能测试
# 打开Pycharm Terminal控制台
# 运行如下命令:locust
运行之后,控制台会在本地监听一个端口
a. 程序文件要命名为 locustfile.py才行
b. 假如命名为one_example.py,则需要这样运行
locust -f one_example.py
在浏览器打开UI设置界面
默认使用localhost:8089打开
三、综合案例演练��
1.编写自动化测试脚本在项目根目录下创建test_load.py文件
from locust import HttpLocust, TaskSet, task
class AdminLoadTest(TaskSet):
"""
创建后台管理站点压测类,需要继承TaskSet
可以添加多个测试任务
"""
def login(self):
"""
登录实例方法
:return:
"""
self.client.post("http://localhost:8088/users/login/",
{"user_account": "admin", "password": "123456"})
def logout(self):
"""
登出实例方法
:return:
"""
self.client.get("http://localhost:8088/users/logout/")
def on_start(self):
"""
当任何一个task调度执行之前,
on_start实例方法会被调用
先登录
:return:
"""
self.login()
def on_stop(self):
"""
当任何一个task调度执行之后,
on_stop实例方法会被调用
后登出
:return:
"""
self.logout()
@task
def admin_index(self):
"""
对后台主页进行压测
:return:
"""
self.client.get("http://localhost:8088/admin/")
class RunLoadTests(HttpLocust):
"""
创建运行压测类
"""
task_set = AdminLoadTest
2.使用命令行运行打开Pycharm Terminal控制台,运行如下命令:
注意:--host参数指定http主机地址,-f参数指定压测程序文件名
3.打开web ui界面进行配置
设置并发用户数为10,每5秒创建一个用户
压测过程截图
美轮美奂的压测报告
压测失败详情
下载压测统计数据
下载的压测统计数据csv文件
六、总结��
locust做压测功能极其强大支持分布式部署提供的接口简单压测代码非常容易编写提供UI界面来配置美观、详细的图表统计
总结
以上所述是小编给大家介绍的Python实现性能自动化测试竟然如此简单,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
python自动化测试-Python实现性能自动化测试竟然如此简单相关推荐
- 用python画易烊千玺_竟然如此简单!输入明星名字就可以直接爬取高清图片
听说你在自己喜欢的明星壁纸?比如李易峰,王一博,易烊千玺.王源.王俊凯,李现等.今天教你批量下载这些明星高清壁纸(文末有福利) 最近图慌,闲来无事爬取李易峰的高清图片,当做手机壁纸也是不错的选择.废话 ...
- 基于python的界面自动化测试-Python实现性能自动化测试竟然如此简单
一.思考❓❔ 1.什么是性能自动化测试? 性能系统负载能力超负荷运行下的稳定性系统瓶颈自动化测试使用程序代替手工提升测试效率性能自动化使用代码模拟大批量用户让用户并发请求多页面多用户并发请求采集参数, ...
- 怎么自学python自动化测试-Python实现性能自动化测试竟然如此简单
一.思考❓❔ 1.什么是性能自动化测试? 性能系统负载能力超负荷运行下的稳定性系统瓶颈自动化测试使用程序代替手工提升测试效率性能自动化使用代码模拟大批量用户让用户并发请求多页面多用户并发请求采集参数, ...
- python 硬件自动化测试_村长告诉你:Python实现性能自动化测试竟然如此简单
一.思考 1.什么是性能自动化测试? ◆性能 △ 系统负载能力 △ 超负荷运行下的稳定性 △ 系统瓶颈 ◆自动化测试 △ 使用程序代替手工 △ 提升测试效率 ◆性能自动化 △ 使用代码模拟大批量用户 ...
- UI自动化测试/python编程
目录 (一)认识python 1.python背景介绍 2.python的特点 3.python的缺点 4.python的版本问题 5.认识python解释器和pycharm工具 5.1.安装pyth ...
- python写web自动化_使用Python+selenium实现第一个自动化测试脚本
原标题:使用Python+selenium实现第一个自动化测试脚本 最近在学web自动化,记录一下学习过程. 此处我选用python3.6+selenium3.0,均用最新版本,以适应未来需求. 环境 ...
- python做自动化测试的优点_乐搏讲自动化测试-python语言特点及优缺点(5)
相信小伙伴们都知道,随着软件测试行业的发展和进步自动化测试已经成为必然.在竞争日益激烈的市场环境中也是你升职加薪的利器. 所以,小编决定从今天起!将要系统.连续.高质量的持续更新「整套自动化测试」文章 ...
- python自动化测试常用库_Python自动化测试常用库整理
今天花了一些时间,过了一下这几年自己用Python开发的自动化测试框架,然后将其中常用到Python库抽出来,简单整理了一下它们的用处.我觉得,只要掌握了这些常用的Python库,足以应对大多数自动化 ...
- Python基于python实现的http+json协议接口自动化测试框架源码(实用改进版)
转载地址:https://www.cnblogs.com/clarke/p/5752527.html 1.写在前面 抛转引玉,仅供参考 2.开发环境 win7 64位 JetBrains PyChar ...
最新文章
- 机器学习/数据挖掘/算法岗位面试题汇总
- 解决报错:gpg: keyserver receive failed: No dirmngr
- 炼数成金数据分析课程---8、数据清洗
- jquery ajax return值不能取得的解决方案
- 第十五届智能车竞赛芯片选型浅析
- 〔转〕Word域的应用和详解5_索引和目录
- Java Review - Queue和Stack 源码解读
- 买什么数据结构与算法,这里有:动态图解十大经典排序算法(含JAVA代码实现)
- squid中实现https的透明代理
- 使用struts2完成ckeditor和图片上传
- POJ1769(线段树+DP)
- linux内核之进程调度
- android sdk根目录,Android SDK位置
- html点击登陆、注册等时候出现等待图标代码
- vue使用高德地图web端JSAPI 路线规划、搜索提示教程
- 用vs2019使用C#连接MySQL创建图书管理系统1(登录的部分设计和数据库设计)
- java中高级面试_中高级面试常问:Java面向对象设计的六大原则
- verilog/vhdl调试工具-Debussy使用教程
- SVN添加账户及删除MyEclipse中记住的SVN账户名密码信息
- 半监督异常检测(Anomaly Detection)的研究线
热门文章
- librdkafka介绍文档
- 世界五百强面试题目及应答评点
- tensorflow RGB三通道图转换为灰度图
- sonar扫描android项目配置 mac版
- Vue v-on v-model 组合使用
- Qt入门(1)——初识Qt
- buildconfiguration[C/C++]_[从netbeans里提取的通用构建C++项目的Makefile文件]
- CCF201609-5 祭坛【线段树】(100分解题链接)
- UVA10505 Montesco vs Capuleto【DFS】
- HDU2201 熊猫阿波的故事【概率】