简介

公司目前用的前后端分离的架构,API接口的稳定性直接影响了与前端团队的沟通效率,前端开发和测试人员都比较熟练的使用Postman来测试API接口。

API接口的自动化测试有很多方案,但Postman+Newman+Jenkins的组合方案,对于测试人员的学习成本最低,实现起来速度是最快的。

由于公司目前已经采用Jenkins做自动化部署,因此只需要安装Newman,整个流程即可走通。

实现步骤如下:

  1. Postman编写测试用例;

  2. 导出到json文件

  3. Newman执行json文件

  4. Jenkins调用newman命令,定时执行或者触发执行

1,Postman编写测试用例

Postman 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.

配置环境变量:

这里建立了测试环境和生产环境;



配置好环境变量后,就可以在api请求时用环境变量,方便切换测试环境和生产环境。

可以直接在Postman中跑测试用例

如果是临时的API接口测试,到这步就可以了。当然,我们的目的是实现测试自动化,接着往下走。

2,导出到JSON

3,添加到github项目

创建一个github项目,专门存储postman脚本。这是为了方便项目成员在本地提交,跟踪版本。

4,Jenkins集成

新建一个自由风格的项目

配置git

构建触发器

每天6点执行一次。

执行SHELL

其中 newman是预先安装在系统上的:
先安装nodejs,再安装newman:

1
npm install -g newman

脚本:

1
2
3
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

https://www.cnblogs.com/lsjdddddd/p/5734531.html

https://www.jianshu.com/p/9b196c71d1fc