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 字符串格式化代码
Mar 17 Python
python中合并两个文本文件并按照姓名首字母排序的例子
Apr 25 Python
Python Web服务器Tornado使用小结
May 06 Python
python用户管理系统
Mar 13 Python
对Python多线程读写文件加锁的实例详解
Jan 14 Python
Python3 实现串口两进程同时读写
Jun 12 Python
解决python super()调用多重继承函数的问题
Jun 26 Python
Python制作词云图代码实例
Sep 09 Python
在Django中预防CSRF攻击的操作
Mar 13 Python
Python中for后接else的语法使用
May 18 Python
基于flask实现五子棋小游戏
May 25 Python
Python OpenCV实现图形检测示例详解
Apr 08 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
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
解析Ubuntu下crontab命令的用法
2013/06/24 PHP
PHP URL路由类实例
2013/11/12 PHP
PHP面向对象程序设计组合模式与装饰模式详解
2016/12/02 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
2016/12/25 PHP
jqgrid 编辑添加功能详细解析
2013/11/08 Javascript
jQuery oLoader实现的加载图片和页面效果
2015/03/14 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
Js中使用正则表达式验证输入是否有特殊字符
2018/09/07 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
Python中pygame安装方法图文详解
2015/11/11 Python
python实现逻辑回归的方法示例
2017/05/02 Python
PyQt5 对图片进行缩放的实例
2019/06/18 Python
Django中使用极验Geetest滑动验证码过程解析
2019/07/31 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
2019/09/16 Python
Python笔记之工厂模式
2019/11/20 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
jupyter notebook 增加kernel教程
2020/04/10 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
Django正则URL匹配实现流程解析
2020/11/13 Python
10张动图学会python循环与递归问题
2021/02/06 Python
CSS3 画基本图形,圆形、椭圆形、三角形等
2016/09/20 HTML / CSS
浅析HTML5中的download属性使用
2019/03/13 HTML / CSS
英国最受欢迎的价格比较网站之一:MoneySuperMarket
2018/12/19 全球购物
有原因的手表:Flex Watches
2019/03/23 全球购物
2014年团员学习十八大思想汇报
2014/09/13 职场文书
教师纪念9.18事件演讲稿范文
2014/09/14 职场文书
党性分析自查总结
2014/10/14 职场文书
驳回起诉民事裁定书
2015/05/19 职场文书
离婚律师函范本
2015/05/27 职场文书
围城读书笔记
2015/06/26 职场文书
2019最新校园运动会广播稿!
2019/06/28 职场文书
成人成长感言如何写?
2019/08/16 职场文书
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android
教你win10系统中APPCRASH事件问题解决方法
2022/07/15 数码科技