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中if __name__ == '__main__'作用解析
Jun 29 Python
Python3简单实例计算同花的概率代码
Dec 06 Python
使用python 和 lint 删除项目无用资源的方法
Dec 20 Python
python中yaml配置文件模块的使用详解
Apr 27 Python
Python正则表达式和re库知识点总结
Feb 11 Python
python 利用turtle库绘制笑脸和哭脸的例子
Nov 23 Python
python 实现二维字典的键值合并等函数
Dec 06 Python
Python 使用threading+Queue实现线程池示例
Dec 21 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
Apr 07 Python
Python爬虫爬取ts碎片视频+验证码登录功能
Feb 22 Python
python 基于pygame实现俄罗斯方块
Mar 02 Python
Django操作cookie的实现
May 26 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开启openssl的方法
2014/05/15 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
2015/08/31 PHP
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
2015/11/25 Javascript
使用Script元素发送JSONP请求的方法
2016/06/12 Javascript
js+css3制作时钟特效
2016/10/16 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
iview table高度动态设置方法
2018/03/14 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
vue请求服务器数据后绑定不上的解决方法
2019/10/30 Javascript
深入理解 ES6中的 Reflect用法
2020/07/18 Javascript
vue 内联样式style中的background用法说明
2020/08/05 Javascript
python中偏函数partial用法实例分析
2015/07/08 Python
Python的Django框架中的数据库配置指南
2015/07/17 Python
在Django中管理Users和Permissions以及Groups的方法
2015/07/23 Python
使用Python的Flask框架构建大型Web应用程序的结构示例
2016/06/04 Python
django基于restframework的CBV封装详解
2019/08/08 Python
Python for循环与getitem的关系详解
2020/01/02 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
python判断变量是否为列表的方法
2020/09/17 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
CSS3属性box-shadow使用详细教程
2012/01/21 HTML / CSS
什么是数据抽象
2016/11/26 面试题
大学生职业生涯规划书模版
2013/12/30 职场文书
金融管理专业毕业生求职信
2014/03/12 职场文书
超市创意活动方案
2014/08/15 职场文书
白酒代理协议书范本
2014/10/26 职场文书
财务人员岗位职责
2015/02/03 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
少年雷锋观后感
2015/06/10 职场文书
2016年母亲节广告语
2016/01/28 职场文书
2016先进集体事迹材料范文
2016/02/25 职场文书
SQL语句多表联合查询的方法示例
2022/04/18 MySQL
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL