API自动化测试-阿里云开发者社区

开发者社区> 开发与运维> 正文

API自动化测试

简介: 简介 公司目前用的前后端分离的架构,API接口的稳定性直接影响了与前端团队的沟通效率,前端开发和测试人员都比较熟练的使用Postman来测试API接口。 API接口的自动化测试有很多方案,但Postman+Newman+Jenkins的组合方案,对于测试人员的学习成本最低,实现起来速度是最快的。

简介

公司目前用的前后端分离的架构,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.

image

配置环境变量:


image

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


image

image

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

image

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


image

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

2,导出到JSON

image

3,添加到github项目

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

image

4,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

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

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

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章