postmannewmanJenkins之API全自动化测试MAC

38次阅读

共计 1402 个字符,预计需要花费 4 分钟才能阅读完成。

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

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

求 star!!!

求 star!!!

求 star!!!

名词解释

postman

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

newman

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

jenkins

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

准备工作

安装 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 文件夹

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

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

  1. 登录

先增加两个变量:phone 和 password

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


填好 url, 点击 send, 如下图,请求成功

cmd+ s 保存这个请求到 test 文件夹,取名为 login

  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;
}

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

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

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

var data = JSON.parse(responseBody);

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



cmd+ s 保存这个请求到 test 文件夹,取名为 userDetail

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


之后看到如下界面,点击 run test

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

导出请求文件

导出环境变量文件

jenkins 配置

  1. 新建任务

  1. 填写任务信息

  1. 配置

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

  1. build

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

正文完
 0