淘先锋技术网

首页 1 2 3 4 5 6 7

postman + Newman + jenkins持续集成

1. 使用postman编写第一个接口脚本

1. 创建接口集

编写脚本前,我们先创建一个接口集,如下图:

在这里插入图片描述

2. 创建请求

接口集创建好后就可以创建请求脚本了,如下图:
在这里插入图片描述

创建好后,填入请求地址及请求参数,点击send发送请求,如下图
在这里插入图片描述

其中的**{{IP}}表示获取变量的值,{{$randomInt}}**表示调用系统函数。

3.添加断言

点击Test,进入测试脚本编辑框,这个”Tests”就是我们需要处理断言的地方
在这里插入图片描述

使用内置函数,我们可以很方便地进行断言及相关参数的获取如图,我们对返回code码及返回信息进行了校验,并且获取了登录后的token并把值设为了环境变量,方便我们在下个接口进行调用,可以使用console.log(“access_token是:”+**access_token);**来打印获取的token值
在这里插入图片描述

4. 脚本运行

经过上面的编写,我们就已经写好第一个接口脚本了,按照下图就可以执行了
在这里插入图片描述

2. 使用Newman执行第一个接口脚本

1. 安装Newman执行环境

1.1 安装cnpm

​ cnpm是什么?

​ 由于npmjs.org的服务器在国外,国内很多“包”的下载速度极慢,在这种环境下阿里巴巴推出了淘宝镜像(即cnpm),它把npm官方的“包”全部搬到国内,供广大开发者使用。cnpm是一个完整 npmjs.org 镜像,可以用此代替官方版本(只读),同步频率目前为 10分钟 ,安装命令为:

npm install -g cnpm --registry=https://registry.npm.taobao.org

1.2 安装newman

​ newman时一款基于Node.js开发的可以运行postman的工具,使用Newman可以直接从命令行运行postman集合。

cnpm install -g newman安装失败使用cnpm install -g newman

​ 检查安装是否成功:newman -v

1.3 安装newman的reporter包

cnpm install newman-reporter-teamcity

cnpm install -g newman-reporter-html

2. 执行postman脚本并生成报告

​ 将postman中的脚本及环境文件导出,打开cmd框按下方模板输入命令,无需设置的参数可缺省,参数文件和环境文件可以是绝对路径,也可以是相对路径

​ newman run 脚本 -d 参数文件 -e 环境文件 -n 循环次数 -r html --reporter-html -export 报告路径

​ 例如:

​ 不生成报告:

newman run .\cytx_test.postman_collection.json -e .\cytx_environment.postman_environment.json

​ 生成报告:

newman run .\cytx_test.postman_collection.json -e D:\cytx_environment.postman_environment.json -r html --reporter-html -export C:\Users\Administrator\Desktop

3. jenkins集成

1. linux环境部署

newman的安装依赖nodejs,首先安装node/npm

下载安装包

wget https://nodejs.org/dist/v10.16.2/node-v10.16.2-linux-x64.tar.xz

解压安装包

tar -xvf node-v10.16.2-linux-x64.tar.xz  

重命名为node

mv node-v10.16.2-linux-x64 node

配置环境变量

vi /etc/profile

在文件末尾添加:

export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH

使环境变量生效

source /etc/profile 

检测node和npm是否安装成功

node -v
npm -v

安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装newman及相关依赖

cnpm install -g newman
cnpm install newman-reporter-teamcity
cnpm install -g newman-reporter-html

2. jenkins任务建立

将导出的脚本文件上传至远程Git仓库,记住Git仓库的地址。登录Jenkins,点击新建Item,如图:
在这里插入图片描述

输入任务名,选择任务类型(根据实际情况选择合适的类型),点击确定
在这里插入图片描述

填写任务描述及Git地址
在这里插入图片描述

输入Git地址及Git账号信息
在这里插入图片描述

输入日程表,输入格式为 :

* * * * *

第一个表示分钟,取值0~59
第三个表示一个月的第几天,取值1~31
第四个表示第几月,取值1~12
第五个表示一周中的第几天,取值0~7,其中0和7代表的都是周日

下图为每天早上9.28执行
在这里插入图片描述

输入执行文件的代码,点击保存接可以了
在这里插入图片描述

点击Build Now 就可以构建任务了
在这里插入图片描述

3. 报告输出

执行完毕后会在执行的文件所在目录下生成一个newman目录文件,执行的报告在此目录下,如果想从外部访问此html报告,最简单的办法就是使用python建立http服务,登录jenkins所在的服务器,进入到newman的目录下,执行下方命令:

python -m http.server 

在浏览器输入jenkins的ip地址,将端口号改为8000,就可以访问执行报告了

注:

  1. 如遇到8000端口占用,可在命令后面加上端口号,访问地址后面的端口号相应变化

  2. 可将执行测试脚本的命令封装成shell文件或python文件执行,将报告地址在文件中打印出来,直接从jenkins中的控制台输出中打开