postman+newman+jenkins 持续集成搭建及使用,实现接口自动化

postman是谷歌的一款非常好用的工具,可以用来做手工的接口测试,也能实现简单的接口自动化持续集成,如果大家觉得postman已经能满足自己的需要,也不想去学习Python+requests,那么postman这个工具一定要好好掌握。
环境搭建

nodejs+newman
安装nodejs

nodejs官网下载地址:http://nodejs.cn/download/ 选择适合自己系统的傻瓜式安装
安装完成后,配置一下环境变量
postman+newman+jenkins 持续集成搭建及使用,实现接口自动化
文章图片

cmd中输入指令: node -v 查看node的版本,出现node版本说明我们安装成功,环境变量也配置ok
postman+newman+jenkins 持续集成搭建及使用,实现接口自动化
文章图片

安装newman
命令行输入指令 npm install newman –global
安装完成后,输入指令 newman -v 查看版本,检测是否安装成功,这里注意,newman的包被安装在了npm工具的包下
postman+newman+jenkins 持续集成搭建及使用,实现接口自动化
文章图片

出现了newman的版本,说明我们安装ok
postman导出collection
postman界面的左侧边栏,选择collections,找到自己需要导出的集合,选择更多按键,点击Export
postman+newman+jenkins 持续集成搭建及使用,实现接口自动化
文章图片

点击export之后,弹出的窗口,我们选择v2,并导出到某一个我们选择的文件夹下
postman+newman+jenkins 持续集成搭建及使用,实现接口自动化
文章图片

导出的collection是json文件 。
postman+newman+jenkins 持续集成搭建及使用,实现接口自动化
文章图片

如果有环境变量或者全局变量也需要导出,点击设置按钮,选择要下载的环境变量,下载
postman+newman+jenkins 持续集成搭建及使用,实现接口自动化
文章图片

postman+newman+jenkins 持续集成搭建及使用,实现接口自动化
文章图片

把下载的collection和环境变量文件,requests需要用到的数据文件(我的数据文件data.json)放到一个文件夹
postman+newman+jenkins 持续集成搭建及使用,实现接口自动化
文章图片

Newman 执行脚本
cmd进入到collection的json文件的目录下,输入指令
$d:
$cd D:\Documents\Desktop\postman
$newman run postman入门.postman_collection.json
如果有环境变量
改成$ newman run postman入门.postman_collection.json -e test.postman_environment.json
postman+newman+jenkins 持续集成搭建及使用,实现接口自动化
文章图片

可以看到上图中我们2个接口全部通过
Jenkins创建项目
其实到这里基本上玩过Jenkins的应该都明白了,我们接下来需要在Jenkins新建一个项目,按照流程配置一下(这里不细讲)
看一下执行构建的windows命令,给大家一点tip
postman+newman+jenkins 持续集成搭建及使用,实现接口自动化
文章图片

这里的”cd\”是因为博主本身的Jenkins默认的工作环境就是G盘的Apache目录,所以需要切换回根目录
---------------------
newman生成测试报告

newman运行可以生成各类测试报告,有html,cli,json格式等
指令:newman run xxx.postman_collection.json -r html[,cli,json,junit]
如果要生成多个格式,用逗号隔开不要留空格
当然支持给测试报告命名和指定生成路径
指令:newman run xxx.postman_collection.json -e test.postman_environment.json --reporters html --reporter-html-export G:\name.html
可以定义测试报告的生成位置以及它的名称
postman+newman+jenkins 持续集成搭建及使用,实现接口自动化
文章图片


可能遇到的问题 newman指令非内部或外部指令 如果在测试构建的过程中碰到以下问题
postman+newman+jenkins 持续集成搭建及使用,实现接口自动化
文章图片

这是因为Jenkins的工作环境下与windows的默认环境有所区别,我们只需要配置一下Jenkins的环境变量即可
系统管理->管理节点->选择需要使用的主机->配置从节点
新建一个键值对列表,键名PATH,把npm和nodejs的路径放进来即可
postman+newman+jenkins 持续集成搭建及使用,实现接口自动化
文章图片

点击保存之后我们再去构建就没有问题了。
Newman 执行脚本
【postman+newman+jenkins 持续集成搭建及使用,实现接口自动化】Newman语法
1、运行一个集合
newman run 集合名
newman run url地址
2、-e,–environment 指定环境文件路径或者url

-e的用法是如果我们的集合设置到环境变量,那么但是运行集合文件是报错的,需要使用-e指定才能运行集合,比如运行测试搜索集合
newman run d:\test.postman_collection.json -e d:\test.postman_environment.json
3、-g,–globals 指定全局变量的文件地址或url 用法如-e
4、-d,—-iteration-data 指定用于迭代的数据源文件路径
newman run d:\test.postman_collection.json -e d:\test.postman_environment.json -d d:\testdata.csv
5、-n,–iteration-count 指定迭代次数
newman run 集合名 -n 10(迭代次数)
6、–folder 运行集合中指定的文件夹

如集合下存在文件(前端接口),使用该命名,则只运行集合中前端接口文件下的接口
7、–export-environment 导出该运行集合中的环境变量文件 可指定路径和名称
newman run d:\test.postman_collection.json -e d:\test.postman_environment.json -d d:\testdata.csv —-export-environment d:\test
–export -environment d:\test 导入环境变量文件名称为test 存储在d盘下
注意:
将该文件导入postman之后还是与导出前的文件名相同,比如此处【test.postman_environment.json】导出前对应的环境变量为【test】,那么test导入之后的命名还是【test】,同样,导出集合也是如此。

8、–export-globals 导出全局环境变量
9、–export-collection 导出集合文件
10、–timeout (ms) 设置整个集合运行完成执行的时间
11、–timeport-request (ms) 指定等待请求返回响应的时间
12、–timeout-script (ms)指定等待脚本执行完成的时间
参考文章
https://blog.csdn.net/u013440574/article/details/82708600
https://blog.csdn.net/qq_14908027/article/details/77923792

    推荐阅读