最近试着将postman测试脚本接入到Jenkins中实现自动执行。过程遇到一些不好解决的问题,幸得一个博主的点播,终于成功。本着分享的精神,把整个配置的过程整理了一下方便以后查看,也方便其他同学参考。
我这里之前安装过postman、node.js、Jenkins,过程也比较简单,所以不再整理一遍啦。
一、 Postman测试脚本
1. 设置请求参数
选择请求方式,get或post,将URL填入;
当为post请求时,需填写参数:选择body下的x-www-form-urlencoded,依次填写key与value
2. 请求参数调用变量
若要获取接口返回结果,作为后续其他接口的参数,需将其设为变量,在Tests中填写以下函数,在调用时,使用{{access_token}}:
*********************************************************
//保存响应结果json
var jsonData = JSON.parse(responseBody);
//将响应结果中的token值保存为全局变量access_token
//最新版本pm环境变量设置使用方法
pm.globals.set("access_token",jsonData.token);
*********************************************************
调用内置的变量,比如时间戳,使用{{$timestamp}}
3. 加入断言验证
通过断言,对接口返回结果进行验证。在Tests中添加以下函数:
*********************************************************
//1.验证返回状态码是否是200
pm.test("Status code is 200",function () {
pm.response.to.have.status(200);
});
//2.验证返回结果中指定只是否符合预期,reports[0].status.configuredState标识reports中第一个数组下,status里configuredState的值
pm.test("assertconfiguredState",function(){
pm.expect(pm.response.json().reports[0].status.configuredState).to.eql("STARTED");
});
*********************************************************
4. 保存到收藏夹
Ctrl+s,弹出以下页面,输入request name,request description,选择collection,也可以创建新的collection,点击【save】即可保存。
5. 批量执行收藏夹中请求
点击收藏夹右侧三角,弹出菜单,点击【Run】;
弹出运行设置页面,设置运行参数,及运行的请求,点击【Run】即可批量执行。
6. 导出postman中的测试脚本
点击收藏夹右侧三角,弹出菜单,点击【…】按钮,点击【export】,弹出导出页面,点击【export】,选择保存路径即可
二、下载newman
1. 需首先下载安装node.js
在node.js官网上下载安装包,一步步执行即可。
2. 在node.js中下载安装newman
下载newman用cpm install -g newman试了很多次都是ERR,最后下载了cnpm(查了下,他是淘宝团队将npm的插件同步到中国服务器,通过这个镜像可以稳定的下载资源),用cnpm的命令去下载newman就很顺利了,如下:
npm install cnpm -g --registry=https://registry.npm.taobao.org
cnpm install -g newman
3. 在newman中执行用例
Cmd执行以下命令,xx\xx.json为postman导出用例的绝对路径(如果是在命令行当前的路径下,填写相对路径也可以); -k表示禁用严格ssl(在这里遇到一个问题,postman里正常执行,但newman里一直报找不到第一证书的错误,最后终于在一个博客里找到解决方案,加一个-k参数,禁用严格的ssl):
newman runE:\PostmanData\server-manager-login.json -k
4. newman生成html报告工具
若要生成html的测试报告,可安装插件,在cmd中输入以下命令:
cnpm install -g newman-reporter-html
输入以下命令,执行测试并将测试结果生成HTML报告输出到指定目录下,不过这样控制台中就不会输入任何日志了:
newman runE:\PostmanData\server-manager-login.json -k --reporters html--reporter-html-export E:\Po stmanData\report\
三、配置Jenkins
1. 创建并配置项目
创建一个自由风格的项目,在【构建】中选择【Execute Windows batch command】,输入以下命令,点击【保存】:
newman runE:\PostmanData\server-manager-login.json -k
2. 构建项目,执行测试
点击【build now】执行构建,在【控制台输出】中可以看到运行的日志
3. 增加HTML报告的显示
在【构建】中修改命令如下:
newman runE:\PostmanData\server-manager-login.json -k --reporters html--reporter-html-export E:\PostmanData\report\report.html
在【构建后操作】中添加【publish HTML reports】,并输入html报告所在的路径、html报告名称,以及在Jenkins中报告的标题。
构建后,在项目首页上,就能点击看html的测试报告了。但是这个报告可观性不强,Jenkins中的控制台也没有日志输出,所以我最后又把html报告删掉了(#^.^#)
至此一个简单的postman脚本集成到Jenkins中自动执行测试的流程就走通啦!