Python+requests+unittest实现接口自动化测试

简单介绍一下框架的实现逻辑:

一、环境准备

​python3.*+pycharm+requests+unittest##

二、框架目录介绍

1,Requests模块发送给予http的网络请求,主要包含了POST,GET,PUT, DELETE等,

2,python+unittest单元测试框架,构建测试框架,包括测试脚本构成,测试脚本的运行,测试脚本集成,测试报告生成(HTMLTestRunner)​
Python+requests+unittest实现接口自动化测试
(1) Api:对request请求的封装

(2) Config: 封装一些配置文件(大部分是一些公共文件,存放在配置文件中方便调用)

(3) Runtest: 主运行文件,运行完脚本之后可以生成相应的Html格式的测试报告

(4) TestCaseApi: 文件夹存放测试用例的

三、代码实现

3.1、接口封装代码展示
Python+requests+unittest实现接口自动化测试
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代码展示
Python+requests+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、生成测试报告代码
Python+requests+unittest实现接口自动化测试
1).详情请参考用例中注释,注释将每一步操作都详细的描述出来了

3.4、最后运行结果
Python+requests+unittest实现接口自动化测试

总结:以上就是本期的内容,你学会了吗?如果有什么不懂得,请公众号搜索[小X聊测试],每周会定期更新测试相关的内容