postman+newman+Jenkins之API全自动化测试(MAC)

文章已同步到https://github.com/abc-club/f...

更多前端资源尽在https://github.com/abc-club/f...

求star!!!

求star!!!

求star!!!

名词解释

postman

主要用于模拟网络请求包
快速创建请求
回放、管理请求
快速设置网络代理

postman+newman+Jenkins之API全自动化测试(MAC)_第1张图片

newman

newman是postman的命令行指令,允许我们在命令行中运行postman collection.

postman+newman+Jenkins之API全自动化测试(MAC)_第2张图片

jenkins

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

postman+newman+Jenkins之API全自动化测试(MAC)_第3张图片

准备工作

安装postman

 没有太多注意事项,直接[官网下载](https://www.getpostman.com/downloads/),然后安装

安装newman

必须选安装node和npm

$ npm install -g newman
$ newman -v 

安装jenkins

请参考 https://juejin.im/post/5d52e1...

postman的使用与导出

下面以网易云音乐登录,然后用接口返回的userId获取用户信息为例

  1. 创建test文件夹

postman+newman+Jenkins之API全自动化测试(MAC)_第4张图片

  1. 定义环境,并设置变量

注意我这里用的是网易云音乐的接口,项目地址:https://github.com/Binaryify/...

postman+newman+Jenkins之API全自动化测试(MAC)_第5张图片

postman+newman+Jenkins之API全自动化测试(MAC)_第6张图片

postman+newman+Jenkins之API全自动化测试(MAC)_第7张图片

  1. 登录

先增加两个变量:phone和password
postman+newman+Jenkins之API全自动化测试(MAC)_第8张图片

postman+newman+Jenkins之API全自动化测试(MAC)_第9张图片

接下来便可以使用这几个变量了

postman+newman+Jenkins之API全自动化测试(MAC)_第10张图片
填好url,点击send,如下图,请求成功
postman+newman+Jenkins之API全自动化测试(MAC)_第11张图片
cmd+s保存这个请求到test文件夹,取名为login
postman+newman+Jenkins之API全自动化测试(MAC)_第12张图片

  1. 获取用户信息

保存userId到变量

var data = JSON.parse(responseBody);

if (data.code === 200) {
  tests["login api"] = true;
  pm.environment.set("userId", data.profile.userId);
}
else {
  tests["login api"] = false;
}

postman+newman+Jenkins之API全自动化测试(MAC)_第13张图片

点击send后,我们可以看到userId被保存到变量中了

postman+newman+Jenkins之API全自动化测试(MAC)_第14张图片

开始获取用户信息,这里为了演示更复杂点的功能,我们在header里加个时间戳吧

timestamp = new Date();
postman.setGlobalVariable("timestamp",timestamp);

postman+newman+Jenkins之API全自动化测试(MAC)_第15张图片

var data = JSON.parse(responseBody);

if (data.code === 200) {
  tests["userDetail api"] = true;
}
else {
  tests["userDetail api"] = false;
}

postman+newman+Jenkins之API全自动化测试(MAC)_第16张图片
postman+newman+Jenkins之API全自动化测试(MAC)_第17张图片
cmd+s保存这个请求到test文件夹,取名为userDetail

  1. 执行test文件夹中所有的请求

postman+newman+Jenkins之API全自动化测试(MAC)_第18张图片
之后看到如下界面,点击run test

postman+newman+Jenkins之API全自动化测试(MAC)_第19张图片

postman+newman+Jenkins之API全自动化测试(MAC)_第20张图片

  1. 导出test文件和环境变量文件

导出请求文件
postman+newman+Jenkins之API全自动化测试(MAC)_第21张图片

postman+newman+Jenkins之API全自动化测试(MAC)_第22张图片

导出环境变量文件
postman+newman+Jenkins之API全自动化测试(MAC)_第23张图片

jenkins配置

  1. 新建任务

postman+newman+Jenkins之API全自动化测试(MAC)_第24张图片

  1. 填写任务信息

postman+newman+Jenkins之API全自动化测试(MAC)_第25张图片

  1. 配置

postman+newman+Jenkins之API全自动化测试(MAC)_第26张图片

// 注意这里的PATH要改成你的npm的路径,否则找不到newman命令

export PATH=/Users/isaacho/.tnvm/versions/alinode/v3.11.4/bin:$PATH

newman run  /Users/isaacho/Documents/test.postman_collection.json -e /Users/isaacho/Documents/test.postman_environment.json

postman+newman+Jenkins之API全自动化测试(MAC)_第27张图片

  1. build

postman+newman+Jenkins之API全自动化测试(MAC)_第28张图片

postman+newman+Jenkins之API全自动化测试(MAC)_第29张图片

到这里已经大功告成了!!!

可能遇到的问题

  • build失败,提示找不到命令

那请注意你的PATH是否正确

  • build没有权限

jenkins用户没有读写postman_collection.json和postman_environment.json的权限,可以给jenkins修改文件夹的权限

参考资料

  • https://www.getpostman.com/docs
  • Jenkins+postman+newman之API全自动化测试
  • Mac | 使用postman+newman+Jenkins配置线上接口自动监控

你可能感兴趣的:(postman,jenkins,api,自动化测试)