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列表操作实例
Jan 14 Python
在Python中处理XML的教程
Apr 29 Python
在Python程序中操作文件之isatty()方法的使用教程
May 24 Python
asyncio 的 coroutine对象 与 Future对象使用指南
Sep 11 Python
Python实现将Excel转换成xml的方法示例
Aug 25 Python
Python GUI布局尺寸适配方法
Oct 11 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
Nov 30 Python
利用Python代码实现一键抠背景功能
Dec 29 Python
Pyinstaller 打包发布经验总结
Jun 02 Python
python与pycharm有何区别
Jul 01 Python
python 如何快速复制序列
Sep 07 Python
Python标准库之typing的用法(类型标注)
Jun 02 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
人大复印资料处理程序_补充篇
2006/10/09 PHP
DedeCms模板安装/制作概述
2007/03/11 PHP
PHP迅雷、快车、旋风下载专用链转换代码
2010/06/15 PHP
PHP动态生成javascript文件的2个例子
2014/04/11 PHP
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
2016/03/01 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
php单链表实现代码分享
2016/07/04 PHP
PHP+ajax实现二级联动菜单功能示例
2018/08/10 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
Extjs入门之动态加载树代码
2010/04/09 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
使用FlexiGrid实现Extjs表格效果方法分享
2014/12/16 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
使用AJAX实现Web页面进度条的实例分享
2016/05/06 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
2016/12/26 Javascript
Bootstrap datepicker日期选择器插件使用详解
2017/07/26 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
2018/10/09 Javascript
Vue-Router基础学习笔记(小结)
2018/10/15 Javascript
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
python3利用Socket实现通信的方法示例
2019/05/06 Python
详解python中的线程与线程池
2019/05/10 Python
python+jinja2实现接口数据批量生成工具
2019/08/28 Python
html5中canvas学习笔记2-判断浏览器是否支持canvas
2013/01/06 HTML / CSS
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
竞选班干部演讲稿
2014/04/24 职场文书
图书馆志愿者活动总结
2014/06/27 职场文书
心理咨询专业自荐信
2014/07/07 职场文书
高一军训的心得体会
2014/09/01 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
学校纪律作风整改措施思想汇报
2014/10/11 职场文书
js Proxy的原理详解
2021/05/25 Javascript
vue实现滑动解锁功能
2022/03/03 Vue.js
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android