Python API自动化框架总结


Posted in Python onNovember 12, 2019

学完了Python脚本接口自动化之后,一直没有对该框架做总结,今天终于试着来做一份总结了。

框架结构如下图:

Python API自动化框架总结

来说一下每个目录的作用:

Configs:该目录下存放的是.conf,.ini文件格式的配置文件;文件里面的内容可以通过封装好的读写配置文件的类去获取。

datas:该目录下存放一些测试用例数据,如:Excel

libs:存放修改源码后的ddt.py和HTMLTestRunner文档,这个两个文档主要是为了让测试报告看起来更明了

logs: 存放脚本运行的日志文件

reports: 执行run.py文件后,存放运行后的测试报告

scripts: 该目录主要存放封装好的脚本,通过调用这些脚本,来实现测试数据的产生的使用和断言。

constans.py: 该文档是用来获取各目录的路径,脚本中可以通过导入该文件中的各种路径变量,这样做的目的是便于框架的复用性。

handle_config.py: 该文档封装的是读写配置文件里面的内容的类。

handle_loggin.py: 该文档封装的是日志文件的存放和输出。

handle_excel.py: 该文档封装的是读写Excel内容的类。在unittest.TestCase类方法中,通过调用这个方法,从Excel中读取测试数据,再将断言结果写进Excel中。

handle_pymysql.py: 该文档封装的是数据库的连接以及数据库的查询等相关操作方法。

handle_requests.py: 发送request请求的方法封装。

handle_context.py:  该文档主要是通过正则表达式,实现测试用例数据参数动态化

test_cases: 该目录下存放的是各功能模块下的测试方法。

run_test.py: 该文档是存放在项目根目录下,执行所有测试用例方法后,会在reports目录下自动产生一个.Html的测试报告。

总结:

该框架主要的设计思想是:通过分层设计,将测试用例数据和测试方法以及业务逻辑抽离,做到测试框架可复用性高,易维护。

该框架主要是通过测试方法类-unittest.TestCase,从Excel中读取测试数据,通过DDT循环调用测试数据,发送Request请求,根据请求返回的响应数据与期望值来做断言。其中DDT驱动数据的时候,通过handle_pymysql做数据库校验或者生产相应的测试数据,再通过handle_context结合正则表达式,动态替换参数。

自动化测试怎么实现接口依赖?

方法一:将被依赖的接口,写在Excel中(参考手动执行的顺序)

方法二:可以通过编写方法或者函数,在测试类方法中的前置条件方法(SetUpClass)中调用这个方法或者函数,得到想要的数据,再执行测试用例方法

自动化测试怎么做数据库校验?

方法一:在测试用例数据文档中,在需要做数据库校验的测试用例后面增加一列,然后写上SQL语句,在执行测试用例方法时,可以通过判断这个字段值,来确定是否需要做数据校验。

以上就是本次介绍的全部知识点内容,感谢大家的学习和对三水点靠木的支持。

Python 相关文章推荐
Python备份目录及目录下的全部内容的实现方法
Jun 12 Python
从请求到响应过程中django都做了哪些处理
Aug 01 Python
tensorflow学习教程之文本分类详析
Aug 07 Python
python requests post多层字典的方法
Dec 27 Python
python创建与遍历List二维列表的方法
Aug 16 Python
Python爬取破解无线网络wifi密码过程解析
Sep 17 Python
详解python常用命令行选项与环境变量
Feb 20 Python
Django数据模型中on_delete使用详解
Nov 30 Python
Python爬取某平台短视频的方法
Feb 08 Python
python 如何用map()函数创建多线程任务
Apr 07 Python
python pygame 开发五子棋双人对弈
May 02 Python
关于pytest结合csv模块实现csv格式的数据驱动问题
May 30 Python
python的scipy实现插值的示例代码
Nov 12 #Python
python对验证码降噪的实现示例代码
Nov 12 #Python
Python FTP文件定时自动下载实现过程解析
Nov 12 #Python
详解在python操作数据库中游标的使用方法
Nov 12 #Python
如何分离django中的媒体、静态文件和网页
Nov 12 #Python
pygame实现烟雨蒙蒙下彩虹雨
Nov 11 #Python
Python实现元素等待代码实例
Nov 11 #Python
You might like
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
CI框架表单验证实例详解
2016/11/21 PHP
laravel框架模板之公共模板、继承、包含实现方法分析
2019/08/30 PHP
在 Laravel 6 中缓存数据库查询结果的方法
2019/12/11 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
2020/11/27 PHP
模仿JQuery.extend函数扩展自己对象的js代码
2009/12/09 Javascript
推荐40款强大的 jQuery 导航插件和教程(上篇)
2012/09/14 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
2015/03/14 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
从setTimeout看js函数执行过程
2017/12/19 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
python定时器使用示例分享
2014/02/16 Python
python3批量删除豆瓣分组下的好友的实现代码
2016/06/07 Python
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
Python Celery多队列配置代码实例
2019/11/22 Python
Django多数据库联用实现方法解析
2020/11/12 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
英国最大的美妆产品在线零售商之一:Beauty Bay
2017/09/29 全球购物
Kiehl’s科颜氏西班牙官方网站:源自美国的植物护肤品牌
2020/02/22 全球购物
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
人力资源管理专业毕业生推荐信
2013/11/07 职场文书
解除劳动合同协议书
2014/09/17 职场文书
幸福来敲门观后感
2015/06/04 职场文书
党小组意见范文
2015/06/08 职场文书
同事离别感言
2015/08/04 职场文书
【海涛解说】暗牧也疯狂,牛蛙成配角
2022/04/01 DOTA
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers