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实现的简单算术游戏实例
May 26 Python
将Python的Django框架与认证系统整合的方法
Jul 24 Python
Python出现segfault错误解决方法
Apr 16 Python
python 随机数使用方法,推导以及字符串,双色球小程序实例
Sep 12 Python
利用Python找出序列中出现最多的元素示例代码
Dec 08 Python
Python3字符串encode与decode的讲解
Apr 02 Python
python粘包问题及socket套接字编程详解
Jun 29 Python
django 实现将本地图片存入数据库,并能显示在web上的示例
Aug 07 Python
python字典的遍历3种方法详解
Aug 10 Python
python使用gdal对shp读取,新建和更新的实例
Mar 10 Python
python3美化表格数据输出结果的实现代码
Apr 14 Python
用Python创建简易网站图文教程
Jun 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下过滤html代码的函数 提高程序安全性
2010/03/02 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
2012/04/02 PHP
php 强制下载文件实现代码
2013/10/28 PHP
教你如何使用php session
2013/10/28 PHP
thinkphp框架实现数据添加和显示功能
2016/06/29 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
2019/10/22 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
PHP数组Key强制类型转换实现原理解析
2020/09/01 PHP
使用prototype.js进行异步操作
2007/02/07 Javascript
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
JS动态添加option和删除option(附实例代码)
2013/04/01 Javascript
JS比较两个时间大小的简单示例代码
2013/12/20 Javascript
Javascript 函数parseInt()转换时出现bug问题
2014/05/20 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
2014/12/15 Javascript
AngularJS ng-app 指令实例详解
2016/07/30 Javascript
使用Angular.js实现简单的购物车功能
2016/11/21 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
vue如何引入sass全局变量
2018/06/28 Javascript
Angular CLI 使用教程指南参考小结
2019/04/10 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
2020/03/02 Javascript
小程序跳转H5页面的方法步骤
2020/03/06 Javascript
[01:05:24]Ti4 冒泡赛第二天 iG vs NEWBEE 3
2014/07/15 DOTA
利用Python如何生成hash值示例详解
2017/12/20 Python
Django实现全文检索的方法(支持中文)
2018/05/14 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
使用CSS3在触屏上为按钮实现激活效果
2013/09/27 HTML / CSS
天游软件面试
2013/11/23 面试题
超市优秀员工事迹材料
2014/05/01 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
合法的离婚协议书范本
2014/10/23 职场文书
让子弹飞观后感
2015/06/11 职场文书
小学英语教学经验交流材料
2015/11/02 职场文书
css3 实现文字闪烁效果的三种方式示例代码
2021/04/25 HTML / CSS
golang中的struct操作
2021/11/11 Golang