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中itertools模块用法详解
Sep 25 Python
Django imgareaselect手动剪切头像实现方法
May 26 Python
python使用matplotlib绘制折线图教程
Feb 08 Python
Python文本处理之按行处理大文件的方法
Apr 09 Python
对pandas replace函数的使用方法小结
May 18 Python
Python使用requests提交HTTP表单的方法
Dec 26 Python
Python面向对象程序设计多继承和多态用法示例
Apr 08 Python
一个可以套路别人的python小程序实例代码
Apr 09 Python
Python列表与元组的异同详解
Jul 02 Python
python3 实现的对象与json相互转换操作示例
Aug 17 Python
python 实现按对象传值
Dec 26 Python
Pycharm中Python环境配置常见问题解析
Jan 16 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编程与应用
2006/10/09 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
掌握PHP垃圾回收机制详解
2019/03/13 PHP
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
JavaScript字符串删除重复字符的方法
2015/12/25 Javascript
使用JavaScript实现弹出层效果的简单实例
2016/05/31 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
2016/08/03 Javascript
AngularJs+Bootstrap实现漂亮的计算器
2017/08/10 Javascript
浅谈react-router@4.0 使用方法和源码分析
2019/06/04 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
详解用js代码触发dom事件的实现方案
2020/06/10 Javascript
JavaScript常用工具函数汇总(浏览器环境)
2020/09/17 Javascript
[03:24]DOTA2超级联赛专访hao 大翻盘就是逆袭
2013/05/24 DOTA
[05:59]带你看看DPC的台前幕后
2021/03/11 DOTA
python合并文本文件示例
2014/02/07 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
django 做 migrate 时 表已存在的处理方法
2019/08/31 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
python输出数学符号实例
2020/05/11 Python
python中time.ctime()实例用法
2021/02/03 Python
美国精品家居用品网站:US-Mattress
2016/08/24 全球购物
Bose加拿大官方网站:美国知名音响品牌
2019/03/21 全球购物
最新大学生自我评价
2013/09/24 职场文书
中专自我鉴定
2014/02/05 职场文书
表彰大会主持词
2014/03/26 职场文书
感恩节活动策划方案
2014/05/16 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
2014年财政工作总结
2014/12/10 职场文书
学生会招新宣传语
2015/07/13 职场文书
2016年清明节红领巾广播稿
2015/12/17 职场文书
《清澈的湖水》教学反思
2016/02/17 职场文书
MySQL root密码的重置方法
2021/04/21 MySQL
SpringCloud Function SpEL注入漏洞分析及环境搭建
2022/04/08 Java/Android
Alexa停服!网站排名将何去何从?目前还没有替代品。
2022/04/15 杂记