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中关键字is与==的区别简述
Jul 31 Python
Python深入学习之闭包
Aug 31 Python
零基础写python爬虫之神器正则表达式
Nov 06 Python
Centos5.x下升级python到python2.7版本教程
Feb 14 Python
Python3.x版本中新的字符串格式化方法
Apr 24 Python
Python使用wxPython实现计算器
Jan 30 Python
解析Python的缩进规则的使用
Jan 16 Python
Python 实现两个服务器之间文件的上传方法
Feb 13 Python
Python Django简单实现session登录注销过程详解
Aug 06 Python
Python3开发环境搭建详细教程
Jun 18 Python
解决pycharm不能自动保存在远程linux中的问题
Feb 06 Python
使用python+pygame开发消消乐游戏附完整源码
Jun 10 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
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
PHP获取http请求的头信息实现步骤
2012/12/16 PHP
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
Add a Table to a Word Document
2007/06/15 Javascript
jquery 操作两个select实现值之间的互相传递
2014/03/07 Javascript
jquery中append()与appendto()用法分析
2014/11/14 Javascript
JavaScript中实现继承的三种方式和实例
2015/01/29 Javascript
js实现一个链接打开两个链接地址的方法
2015/05/12 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
jQuery使用ajax跨域获取数据的简单实例
2016/05/18 Javascript
微信小程序 picker-view 组件详解及简单实例
2017/01/10 Javascript
jquery实现提示语淡入效果
2017/05/05 jQuery
vuex提交state&&实时监听state数据的改变方法
2018/09/16 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
对Python Class之间函数的调用关系详解
2019/01/23 Python
python 列表中[ ]中冒号‘:’的作用
2019/04/30 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
python异步编程 使用yield from过程解析
2019/09/25 Python
解决python-docx打包之后找不到default.docx的问题
2020/02/13 Python
使用Tkinter制作信息提示框
2020/02/18 Python
Python常用扩展插件使用教程解析
2020/11/02 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
"火柴棍式"程序员面试题
2014/03/16 面试题
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
大学本科毕业生的自我鉴定范文
2013/11/19 职场文书
优秀员工获奖感言
2014/03/01 职场文书
银行贷款承诺书
2014/03/29 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
中学生爱国演讲稿
2014/09/05 职场文书
接收函
2019/04/22 职场文书