简单介绍一下框架的实现逻辑:
一、环境准备
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、最后运行结果
总结:以上就是本期的内容,你学会了吗?如果有什么不懂得,请公众号搜索[小X聊测试],每周会定期更新测试相关的内容