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,就可以访问执行报告了
注:
-
如遇到8000端口占用,可在命令后面加上端口号,访问地址后面的端口号相应变化
-
可将执行测试脚本的命令封装成shell文件或python文件执行,将报告地址在文件中打印出来,直接从jenkins中的控制台输出中打开