一、前言
自动化测试是把将手工驱动的测试行为转化为机器自动执行,通常操作是在某一框架下进行代码编写,实现用例自动发现与执行,托管在CI/CD平台上,通过条件触发或手工触发,进行回归测试&线上监控,代替部分的手工测试;
不同的项目适合的自动化框架也是不同的,自动化系列文章将逐个介绍实际工作中使用的自动化框架。
自动化接口测试使用到的框架:
Postman+Newman+Allure+Jenkins/极库云
Httprunner+Request+Pytest+Alluret+Jenkins
JMeter+Ant+Allure+Jenkins
Pytest+Request+Allure+Jenkins
自动化UI测试使用到的框架:
Selenium+Pytest
Appium+WDA+TestNG
Minium+pytest
本章节先对自动化接口测试的四个框架进行对比介绍,后续系列文章介绍详细搭建过程和封装过程。
二、自动化接口测试简介
1、接口测试的必要性
接口测试有着极为高效的成本收益比,是测试左移的重要环节。
接口测试为高复杂性的平台带来高效的缺陷检测和质量监督能力,平台复杂,系统越庞大,接口测试的效果越明显。
总的来说,接口测试是保证高复杂性系统质量的内在要求和低成本的经济利益驱动作用下的最佳方案,主要体现在如下三个方面:
节省了测试成本
接口测试不同于单元测试
收益更高
2、自动化接口测试的必要性
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,主要是编写代码、脚本,让软件自动运行,发现缺陷,代替部分的手工测试;
当服务端改动功能、添加新功能时、测试环境切换时、新发布程序后,避免新代码导致已有功能不可用,都需要进行接口的全量回归。人工触发不及时且容易遗漏。
接口自动化接入持续集成,服务端发布触发接口测试代码运行,尽早发现问题
抽取部分接口测试用例,定时运行程序,对线上常用的业务操作进行监控,及时发现修复。
3、自动化接口测试适用场景
提测前冒烟测试
预生产/上线前回归测试
服务端底层逻辑变更后的回归测试
线上服务器可用性监控
4、成果物
通过自动化测试,进行线上可用性监控 和 回归测试,可以节约大量手工测试时间,降本增效。线上线下均发现过较多问题。
三、自动化接口测试框架概览
1、几种框架对比
还有很多其他框架,本次只针对实际工作中应用到的几种框架进行对比。
2、自动化接口测试框架的必要性
提供统一的用例模板,简化业务接入的成本
处理脚本中一些异常和错误处理工作
实现一些通用的功能,简化脚本开发的过程
测试场景恢复
测试结果/报告输出
四、自动化接口测试框架对比
1、Postman+Newman框架
①简介
postman是谷歌浏览器的扩展工具,也有独立的客户端产品。
postman非方便日常的调试,使用简单。
主要功能包含接口请求的发起,测试的断言,设置前置条件,支持后置操作,支持使用全局变量/环境变量/集合变量/内部变量,参数化应用、接口关联、postman结合newman+jenkins实现简单的接口自动化并进行持续集成等操作。
postman高级的功