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实现扫描端口示例
Mar 29 Python
python代码制作configure文件示例
Jul 28 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
Sep 11 Python
Python实现的径向基(RBF)神经网络示例
Feb 06 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
May 26 Python
浅析python中的迭代与迭代对象
Oct 08 Python
Python3日期与时间戳转换的几种方法详解
Jun 04 Python
解决tensorflow由于未初始化变量而导致的错误问题
Jan 06 Python
4行Python代码生成图像验证码(2种)
Apr 07 Python
深入理解Python变量的数据类型和存储
Feb 01 Python
pandas中DataFrame数据合并连接(merge、join、concat)
May 30 Python
Python Pandas解析读写 CSV 文件
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 各种排序算法实现代码
2009/08/20 PHP
ThinkPHP php 框架学习笔记
2009/10/30 PHP
php 一元分词算法
2009/11/30 PHP
php数组使用规则分析
2015/02/27 PHP
php简单实现文件或图片强制下载的方法
2016/12/06 PHP
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
javascript 动态创建表格
2015/01/08 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
JS onkeypress兼容性写法详解
2016/04/27 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
Javascript中return的使用与闭包详解
2017/01/11 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
angularJs 表格添加删除修改查询方法
2018/02/27 Javascript
深入理解redux之compose的具体应用
2020/01/12 Javascript
JavaScript React如何修改默认端口号方法详解
2020/07/28 Javascript
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
python3利用smtplib通过qq邮箱发送邮件方法示例
2017/12/03 Python
Python中flatten( )函数及函数用法详解
2018/11/02 Python
解决Pandas的DataFrame输出截断和省略的问题
2019/02/08 Python
Python常用爬虫代码总结方便查询
2019/02/25 Python
python 批量修改 labelImg 生成的xml文件的方法
2019/09/09 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
2020/11/01 Python
关于Python错误重试方法总结
2021/01/03 Python
scrapy-splash简单使用详解
2021/02/21 Python
H5混合开发app如何升级的方法
2018/01/10 HTML / CSS
公共事业管理本科生求职信
2013/10/07 职场文书
销售目标责任书
2014/07/23 职场文书
优秀纪检干部材料
2014/08/27 职场文书
2014年结对帮扶工作总结
2014/12/17 职场文书
2015年青年志愿者协会工作总结
2015/04/27 职场文书
博士论文答辩开场白
2015/06/01 职场文书
高一英语教学反思
2016/03/03 职场文书