使用POSTMAN进行接口自动化测试
一、什么是接口自动化测试
1.测试对象是HTTP接口
2.通过脚本完成接口调用过程
3.自动验证结果
4.多个接口串联起来形成一个完整流程
5.能够和持续集成平台集成
二、接口自动化测试的目的
接口自动化测试的目的不是为了发现更多的bug,而是为了更快的完成回归测试,确保代码改动(bug修复、新功能开发或代码重构)不会对原有功能产生负面影响。
三、接口自动化测试推进的步骤
原则:按照用户场景的使用频率和重要性
1.优先完成主流程的正常逻辑的接口测试
2.完成全流程的正常逻辑的接口测试
3.主流程异常处理测试
4.全流程的异常处理测试
5.主流程的边界值测试
6.全流程的边界值测试
7.其它功能的测试
四、为什么使用POSTMAN
以下方式都可以进行自动化测试:
1.使用编程语言编写测试脚本,常用的如:python、java、shell
2.通过第三方工具编写测试脚本,常用的如:postman、jmeter、curl
选择POSTMAN的理由:
1.编写成本低
2.调试方便
3.验证结果方便
4.支持全局变量和环境变量,可灵活处理参数以及返回值
5.提供命令行工具newman,可以和持续集成平台集成
五、测试步骤
使用Postman编写、调试测试脚本
1.按照接口调用顺序依次编写
2.验证返回值关键参数
3.返回值保存到全局变量中
4.单接口测试
5.使用runner多接口测试
使用Newman执行测试脚本
1.测试环境安装newman
npm install -g newman
2.从postman导出测试脚本、环境变量、全局变量
3.通过newman命令行执行测试
newman run rules.postman_collection.json -e test.postman_environment.json -g global.postman_globals.json
将脚本保存到Gitea仓库中
1.创建一个代码仓库,将代码提交到仓库中
2.编写执行步骤的shell脚本,文件名为runtest.sh
3.到目标服务器上拉取代码(配置好deploy账号,确保每次可以自动pull最新代码),目录为test
六、集成到DroneCI平台
1.编辑持续集成配置文件 .drone.yml(gitea),在pipline的deploy stage中,增加如下脚本:
- cd test; bash runtest.sh
2.触发自动编译后,通过 Promote 功能 发布到目标服务器上后,会自动触发自动化测试
3.通过droneci控制台日志,可查看测试结果