一、什么是接口自动化测试

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控制台日志,可查看测试结果