Python+unittest+requests 接口自动化测试框架搭建 完整的框架搭建过程 实战
Posted 程序员小濠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python+unittest+requests 接口自动化测试框架搭建 完整的框架搭建过程 实战相关的知识,希望对你有一定的参考价值。
一、环境准备
python3.*+pycharm+requests+unittest
二、框架目录介绍
1,Requests模块发送给予http的网络请求,主要包含了POST,GET,PUT, DELETE等
2,python+unittest单元测试框架,构建测试框架,包括测试脚本构成,测试脚本的运行,测试脚本集成,测试报告生成(htmlTestRunner)
(1) Api:对request请求的封装
(2) Config: 封装一些配置文件(大部分是一些公共文件,存放在配置文件中方便调用)
(3) Runtest: 主运行文件,运行完脚本之后可以生成相应的Html格式的测试报告
(4) TestCaseApi: 文件夹存放测试用例的
三、代码实现
3.1、接口封装代码展示
1).从配置文件中获取session,导入库import configparser,使用read读取配置文件所在的地址,这里我用的是绝对路径,使用get获取配置文件内的具体内容,详情参考代码。
2).pysnooper是一个调试工具,能够将接口的每一步操作都给详细的打印出来,
用法:导入库import pysnooper ,在函数上方@pysnooper.snoop()就可以使用了
3).定义一个函数,输入相关的接口信息,常用的http请求方法有get、post、delete、put等
4).拓展:dumps与loads:https://www.cnblogs.com/lily1989/p/8195505.html
3.2、unittest代码展示
1).首先,新建一个unittest文件,导入unittest库,将刚才的接口文件导入到此文件内:
from Api.Front.common import enumerations。
2).接下来我们新建一个class类,名称可随便定义,不过一般还是见明知意比较好。
3).setUp:主要是进行测试准备工作,每个case前运行,在这里我定义为接口的预期结果,通过断言与实际测试结果做对比。
4).接下来就是编写测试用例了,首先定义一个函数:test_enumertions,因为这个接口参数type有多个值,在这里我用了list列表,通过使用for循环将每个值都给循环执行一遍直至循环完毕
5).assertEqual:python断言方法,在这里通过调用setUp里定义的预期结果与实际结果做对比,实现断言
3.3、生成测试报告代码
1).详情请参考用例中注释,注释将每一步操作都详细的描述出来了
3.4、最后运行结果
以上是关于Python+unittest+requests 接口自动化测试框架搭建 完整的框架搭建过程 实战的主要内容,如果未能解决你的问题,请参考以下文章
接口框架 python+unittest+request+HTMLTestRunner
python+unittest+requests实现接口自动化
Python接口测试之对MySQL/unittest框架/Requests 的操作