newman执行测试_postman+newman+Jenkins之API全自动化测试(MAC)

求star!!!

求star!!!

求star!!!

名词解释

主要用于模拟网络请求包

快速创建请求

回放、管理请求

快速设置网络代理

9c28d06d53af4ee5d473fc87ec6a116f.png

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

475540c7125a72c824b9b8df45a8d39b.png

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

bd042ebd2913f079bd9a473f6406287a.png

准备工作

安装postman

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

安装newman

必须选安装node和npm

$ npm install -g newman

$ newman -v

安装jenkins

postman的使用与导出

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

创建test文件夹

0ac658aacea98abe1df3c2fa75505ed4.png

定义环境,并设置变量

fa473cc18c40602a7ad9e99d6ec21c64.png

ce0e8a6f22303911bbf83a890b22bec5.png

053ef7063783fd44a7faa679714e62c7.png

登录

先增加两个变量:phone和password

921ffa742be7ba116d9134c9190b50fd.png

abd32cfaa650440b296ddfe0a63c2ffb.png

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

b94041dadd914913b27340afd30aac89.png

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

b3f330e31e4e3cd1ee787783d013db17.png

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

b08c42e9c449a077e455d131b95f31f6.png

获取用户信息

保存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;

}

b78beeba20baa0afd2f68c05606edea0.png

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

98c2e8ef7ee6909b701c7248390fa348.png

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

timestamp = new Date();

postman.setGlobalVariable("timestamp",timestamp);

96e8e933cf28404d2b43131cd0d0d083.png

var data = JSON.parse(responseBody);

if (data.code === 200) {

tests["userDetail api"] = true;

}

else {

tests["userDetail api"] = false;

}

a252f7fbbe33ac9496bf0eb29e197c28.png

8f073bd44b9545813640503afcbe6d7f.png

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

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

b0f2073bdbd284026b1828535fa5a70a.png

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

a706f268ed5da0c6e710715537c443e3.png

06f5712c6c4917ab071a7dd3e03055f3.png

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

导出请求文件

32825235c46ab45eae7345e530c2555d.png

bf9696024a642963d26d4305c611026b.png

导出环境变量文件

3763181fa484d158cd0f204b4455362b.png

jenkins配置

新建任务

a3cbdd3d1d469be715c187234f7d3ac4.png

填写任务信息

41dc3172a099716d2e0109379cadf314.png

配置

93354203220d7a23d6d679964dbcb068.png

// 注意这里的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

ce6412d5572245189cbdcdb8ba7ff163.png

build

f6358079ccc8f6a1944d9d1eecae665d.png

9289404f0a6667d327487e2ddeb5a935.png

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

可能遇到的问题

build失败,提示找不到命令

那请注意你的PATH是否正确

build没有权限

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

参考资料

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值