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中字符串和数字拼接报错的方法
Oct 23 Python
通过Python 获取Android设备信息的轻量级框架
Dec 18 Python
Python读取MRI并显示为灰度图像实例代码
Jan 03 Python
Python使用pickle模块实现序列化功能示例
Jul 13 Python
对python 判断数字是否小于0的方法详解
Jan 26 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
Mar 05 Python
python mysql断开重连的实现方法
Jul 26 Python
Python 使用元类type创建类对象常见应用详解
Oct 17 Python
后端开发使用pycharm的技巧(推荐)
Mar 27 Python
Python实现七个基本算法的实例代码
Oct 08 Python
详细总结Python常见的安全问题
May 21 Python
理解python中装饰器的作用
Jul 21 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
广播爱好者需要了解的天线知识
2021/03/01 无线电
超级实用的7个PHP代码片段分享
2012/01/05 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
input 输入框内的输入事件详细分析
2010/03/17 Javascript
Javascript中Eval函数的使用
2010/03/23 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
js 验证身份证信息有效性
2014/03/28 Javascript
jquery简单实现幻灯片的方法
2015/08/03 Javascript
jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
2015/12/31 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
微信小程序中如何使用flyio封装网络请求
2019/07/03 Javascript
python 打印出所有的对象/模块的属性(实例代码)
2016/09/11 Python
对python中array.sum(axis=?)的用法介绍
2018/06/28 Python
python ddt数据驱动最简实例代码
2019/02/22 Python
Python中py文件转换成exe可执行文件的方法
2019/06/14 Python
Python split() 函数拆分字符串将字符串转化为列的方法
2019/07/16 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
python怎么删除缓存文件
2020/07/19 Python
喜诗官方在线巧克力店:See’s Candies
2017/01/01 全球购物
罗兰·穆雷官网:Roland Mouret
2018/09/28 全球购物
Myholidays美国:在线旅游网站
2019/08/16 全球购物
大学生职业生涯规划书模版
2013/12/30 职场文书
高三自我评价
2014/02/01 职场文书
董事长秘书工作职责
2014/06/10 职场文书
研修心得体会
2014/09/04 职场文书
先进党员事迹材料
2014/12/24 职场文书
助学金感谢信
2015/01/20 职场文书
青年教师个人总结
2015/02/11 职场文书
MySQL 数据类型详情
2021/11/11 MySQL
Python必备技巧之字符数据操作详解
2022/03/23 Python
Python调用腾讯API实现人脸身份证比对功能
2022/04/04 Python