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的While循环语句的使用方法
Oct 13 Python
Python脚本实现自动将数据库备份到 Dropbox
Feb 06 Python
基于python select.select模块通信的实例讲解
Sep 21 Python
python把ipynb文件转换成pdf文件过程详解
Jul 09 Python
python3 批量获取对应端口服务的实例
Jul 25 Python
Python Django 页面上展示固定的页码数实现代码
Aug 21 Python
Python检查 云备份进程是否正常运行代码实例
Aug 22 Python
python 使用while写猜年龄小游戏过程解析
Oct 07 Python
Python 复平面绘图实例
Nov 21 Python
Python PyInstaller库基本使用方法分析
Dec 12 Python
matplotlib图例legend语法及设置的方法
Jul 28 Python
Python通过loop.run_in_executor执行同步代码 同步变为异步
Apr 11 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 class中public,private,protected的区别以及实例分析
2013/06/18 PHP
destoon公司主页模板风格的添加方法
2014/06/20 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
再Docker中架设完整的WordPress站点全攻略
2015/07/29 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
srcElement表格样式
2006/09/03 Javascript
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
基于JQuery的数字改变的动画效果--可用来做计数器
2010/08/11 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
js取模(求余数)隔行变色
2014/05/15 Javascript
jQuery的text()方法用法分析
2014/12/20 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
nodejs连接mongodb数据库实现增删改查
2016/12/01 NodeJs
详解Node 定时器
2018/02/26 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
vant 中van-list的用法说明
2020/11/11 Javascript
Python+django实现简单的文件上传
2016/08/17 Python
利用Hyperic调用Python实现进程守护
2018/01/02 Python
简单了解Django ContentType内置组件
2019/07/23 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
2020/09/01 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
Omio美国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/08 全球购物
美国领先的商务贺卡出版商:The Gallery Collection
2018/02/13 全球购物
潘多拉珠宝英国官方网上商店:PANDORA英国
2018/06/12 全球购物
NET程序员上机面试题
2015/05/23 面试题
关于人生的感言
2014/01/17 职场文书
《维生素c的故事》教学反思
2014/02/18 职场文书
中秋手机店促销方案
2014/06/16 职场文书
学生违纪检讨书200字
2014/10/21 职场文书
写作技巧:优秀文案必备的3种结构
2019/08/19 职场文书
详解Laravel框架的依赖注入功能
2021/05/27 PHP
springboot中rabbitmq实现消息可靠性机制详解
2021/09/25 Java/Android
Pygame如何使用精灵和碰撞检测
2021/11/17 Python
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫