大家好,又见面了,我是你们的朋友全栈君。
今年是以往10年中最坏的一年,是未来10年中最好的一年,同时也是自动化测试爆发的一年,自动化从18年开始萌芽之后自此功能测试打遍天下的日子已经一去不复返了。在自动化的领域里面,接口自动化当之无愧的是投入和产出比最高的一种,也是企业首先需要实施落地的一种自动化。
众所周知,目前市面上大部分的企业实施接口自动化最常用的有两种方式:
1.基于工具类的接口自动化,如:
Postman Newman Jenkins Git/svn Jmeter Ant Jenkins Git/svn
2.基于代码类的接口自动化,如:
Python Requests Pytest Allure报告定制
而接口自动化离不开接口自动化框架的搭建,在大部分测试人员眼中只要沾上“框架”,就感觉非常神秘,非常遥远。主要是因为大部分的测试人员代码能力比较薄弱;废话不多说:看效果:
一、接口自动化测试框架需要解决的问题
1.接口的基本信息使用Yaml来保存,Yaml比Excel更方面,格式更清晰。
2.不同的传参方式(get,post,put,delete),以及不同的参数传递(传键值对,传Json数据,传文件)等。
3.接口关联如何处理。(即上一个接口的返回值作为下一个接口的参数)
4.断言(判断预期结果和实际结果是否一致)
5.数据驱动(本框架使用CSV文件实现)
6.日志监控,异常处理以及基础路径的配置。(框架的键全性)
7.框架的扩展性,这个至关重要,比如:有些接口参数必须加随机数的情况。(本框架使用的热加载的方式。)
二、接口自动化测试框架目录结构
(1)Common文件夹是公共封装文件:如:日志模块,分析Yaml模块,请求封装模块,Yaml操作模块等。
(2)Data文件夹用于存放数据驱动的CSV文件;
(3)Logs文件夹用于存放日志文件;
(4)Reports用于存放报告文件(基于Allure生产的定制化的报告)
(5)Temp用于存放临时文件
(6)TestCases用于存放测试用例文件
(7)all.py总执行文件,config.yaml配置文件…
三、日志监控文件的信息
日志监控是每个框架必备的,用于监控每个接口的数据以及返回接口以及报错信息。
这个日志有点详细啊,包括了接口名称,请求方式,请求路径,请求头,请求参数,文件上传,预期结果,实际结果以及接口是否请求成功和失败。
四、搭建具有企业Logo的定制化报告。
报告还可以定制的吗?第一次听说,哈哈,除了Logo定制外,还搭建了,项目名称定制,模块定制,接口名称定制,用例标题定制…N中定制。如下图: