众所周知,目前市面上大部分的企业实施接口自动化最常用的有两种方式:
1、基于代码类的接口自动化,如:
Python+Requests+Pytest+Allure报告定制
2、基于工具类的接口自动化,如:
Postman+Newman+Jenkins+Git/svn
Jmeter+Ant+Jenkins+Git/svn
而接口自动化离不开接口自动化框架的搭建,大部分测试人员都感觉框架非常神秘,非常遥远。主要是因为大部分的测试人员代码能力比较薄弱;废话不多说:看效果:
一、接口自动化测试框架需要具备什么功能?
1、校验
这个很好了解,如果没有校验,单纯的执行接口的话,那就谈不上测试了。所以支持对返回值校验是一个必须的功能。
2、数据隔离
数据隔离就是指具体的请求接口、参数、校验等数据做到与代码相隔离,便于维护,一旦需要调整接口用例、新增接口用例时可很快速的找到位置。
3、数据传递
做到数据隔离可维护后,数据传递是另外一个更重要的需求。
4、动态函数
实际用例场景中我们可能会有随机生成一个手机号、字符串加密等需求,在数据与代码隔离之后,此时我们就需要代码可以支持做到识别对应关键字时可以执行对应的函数进行填充。
5、可配置
有时,我们的需求是用例不单单只能在一个环境上执行,可能需要同一份接口用例可以在QA、预发、线上等多个环境都可以执行
6、日志
日志包含执行的具体执行接口、请求方式、请求参数、返回值、校验接口、请求时间、耗时等关键信息,日志的好处一来是可以便于在新增用例有问题时快速定位出哪里填写有问题,二来是发现bug时方便向开发反馈提供数据,开发可以从触发时间以及参数等信息快速定位到问题所在。
7、可视化报告
用例执行后,就是到了向团队展示结果的时候了,一个可视化的报告可以便于团队成员了解到每次自动化接口用例执行的成功数、失败数等数据。
8、用例驱动
1.用例的驱动模式,涉及到怎么存放测试数据,怎么描述用例,又如何复用;
2.考虑到效率的话还要支持并发;
3.当然测试报告不能光记录成功和失败,还有用例执行耗时,接口调用耗时,、场景的通过率等各项数值的统计。
9、数据隔离
1,并发的话在接口自动化方面倒不是必须的,当然有是更完美的。
2,用例是否能复用应该跟用例的设计有关系,跟框架关系不是很大。
3,报告确实是越强大越好,有老板关心的数据,有开发关心的数据是最好不过了。
二、接口自动化测试框架目录结构
各个目录的作用
common/: 报告、日志等公共模块存放文件夹
config/: 文件路径、配置信息存放
db_init/: 测试数据初始化处理程序
logs/: 生成日志文件
pies/: 饼图存放
report/: 测试报告存放
testcase/: 用于编写测试用例
run_main.py 执行测试集的主程序
三、日志监控文件的信息
日志监控是每个框架必备的,用于监控每个接口的数据以及返回接口以及报错信息。
四、搭建具有企业Logo的定制化报告。
报告还可以定制的吗?第一次听说,哈哈,除了Logo定制外,还搭建了,项目名称定制,模块定制,接口名称定制,用例标题定制…N中定制。如下图:
作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。