API自动化测试
简介
公司目前用的前后端分离的架构,API接口的稳定性直接影响了与前端团队的沟通效率,前端开发和测试人员都比较熟练的使用Postman来测试API接口。
API接口的自动化测试有很多方案,但Postman+Newman+Jenkins的组合方案,对于测试人员的学习成本最低,实现起来速度是最快的。
由于公司目前已经采用Jenkins做自动化部署,因此只需要安装Newman,整个流程即可走通。
实现步骤如下:
1. Postman编写测试用例;
2. 导出到json文件
3. Newman执行json文件
4. Jenkins调用newman命令,定时执行或者触发执行
1,Postman编写测试用例
imagePostman is the only complete API development environment, for API developers, used by more than 5 million developers and 100,000 companies worldwide. Postman makes working with APIs faster and easier by supporting developers at every stage of their workflow, and is available for Mac OS X, Windows, and Linux users.
配置环境变量:
image
这里建立了测试环境和生产环境;
image
image
配置好环境变量后,就可以在api请求时用环境变量,方便切换测试环境和生产环境。
image可以直接在Postman中跑测试用例
image
如果是临时的API接口测试,到这步就可以了。当然,我们的目的是实现测试自动化,接着往下走。
2,导出到JSON
image3,添加到github项目
创建一个github项目,专门存储postman脚本。这是为了方便项目成员在本地提交,跟踪版本。
image4,Jenkins集成
新建一个自由风格的项目
image配置git
image构建触发器
image每天6点执行一次。
执行SHELL
image其中 newman是预先安装在系统上的:
先安装nodejs,再安装newman:
npm install -g newman
脚本:
newman --version
newman run Brison.postman_collection.json -e test.postman_environment.json --reporters cli,html,json,junit --reporter-json-export brison_jsonOut.json --reporter-junit-export brison_xmlOut.xml --reporter-html-export brison_htmlOut.html
Brison.postman_collection.json是postman请求 collection集合。
test.postman_environment.json 是环境变量。
生成brison_jsonOut.json,brison_xmlOut.xml,brison_htmlOut.html
参考
https://blog.csdn.net/wanglin_lin/article/details/51959342
https://www.jianshu.com/p/dd0db1b13cfc
https://www.getpostman.com/docs/v6/postman/collection_runs/integration_with_jenkins
https://www.jianshu.com/p/d958fc8bf7a4
https://www.jianshu.com/p/2c83f2ffbd5e