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解析nginx日志文件
May 11 Python
python基于xmlrpc实现二进制文件传输的方法
Jun 02 Python
Python使用defaultdict读取文件各列的方法
May 11 Python
pyQt4实现俄罗斯方块游戏
Jun 26 Python
Python装饰器模式定义与用法分析
Aug 06 Python
Python tkinter label 更新方法
Oct 11 Python
Python异常的检测和处理方法
Oct 26 Python
python实现五子棋人机对战游戏
Mar 25 Python
在python下实现word2vec词向量训练与加载实例
Jun 09 Python
OpenCV图片漫画效果的实现示例
Aug 18 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
Dec 08 Python
python中的getter与setter你了解吗
Mar 24 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中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
2014/11/04 PHP
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
php layui实现前端多图上传实例
2019/07/30 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
js查找父节点的简单方法
2008/06/28 Javascript
jquery 防止表单重复提交代码
2010/01/21 Javascript
jquery显示和隐藏div特效实例
2013/02/27 Javascript
javaScript面向对象继承方法经典实现
2013/08/20 Javascript
jQuery四种选择器使用及示例
2016/06/05 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
JS检测window.open打开的窗口是否关闭
2017/06/25 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
JavaScript中变量、指针和引用功能与操作示例
2018/08/04 Javascript
vue+axios 前端实现的常用拦截的代码示例
2018/08/23 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
利用Python进行异常值分析实例代码
2017/12/07 Python
浅谈python数据类型及类型转换
2017/12/18 Python
python 实现多线程下载视频的代码
2019/11/15 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
2020/01/28 Python
Python sys模块常用方法解析
2020/02/20 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
洛杉矶生活休闲而精致的基础品牌:Mika Jaymes
2018/01/07 全球购物
大学社团活动策划书
2014/01/26 职场文书
投标承诺书怎么写
2014/05/24 职场文书
测量员岗位职责
2015/02/14 职场文书
自主招生自荐信格式
2015/03/04 职场文书
2015年教师党员个人总结
2015/11/24 职场文书
2016年班主任培训心得体会
2016/01/07 职场文书
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS