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

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

环境搭建

nodejs+newman

安装nodejs


nodejs官网下载地址:http://nodejs.cn/download/ 选择适合自己系统的傻瓜式安装 
安装完成后,配置一下环境变量 
这里写图片描述 
cmd中输入指令: node -v 查看node的版本,出现node版本说明我们安装成功,环境变量也配置ok 
这里写图片描述

安装newman

命令行输入指令 npm install newman –global 
安装完成后,输入指令 newman -v 查看版本,检测是否安装成功,这里注意,newman的包被安装在了npm工具的包下 
这里写图片描述 
出现了newman的版本,说明我们安装ok

postman导出collection

postman界面的左侧边栏,选择collections,找到自己需要导出的集合,选择更多按键,点击Export 

è¿éåå¾çæè¿°
点击export之后,弹出的窗口,我们选择v2,并导出到某一个我们选择的文件夹下 

è¿éåå¾çæè¿°
导出的collection是json文件 。

è¿éåå¾çæè¿°

如果有环境变量或者全局变量也需要导出,点击设置按钮,选择要下载的环境变量,下载

postman+newman+jenkins 持续集成搭建及使用,实现接口自动化_第1张图片

把下载的collection和环境变量文件,requests需要用到的数据文件(我的数据文件data.json)放到一个文件夹

postman+newman+jenkins 持续集成搭建及使用,实现接口自动化_第2张图片

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 持续集成搭建及使用,实现接口自动化_第3张图片 
可以看到上图中我们2个接口全部通过

Jenkins创建项目

其实到这里基本上玩过Jenkins的应该都明白了,我们接下来需要在Jenkins新建一个项目,按照流程配置一下(这里不细讲) 
看一下执行构建的windows命令,给大家一点tip 
 postman+newman+jenkins 持续集成搭建及使用,实现接口自动化_第4张图片
这里的”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 持续集成搭建及使用,实现接口自动化_第5张图片

 

可能遇到的问题

newman指令非内部或外部指令

如果在测试构建的过程中碰到以下问题 
 postman+newman+jenkins 持续集成搭建及使用,实现接口自动化_第6张图片
这是因为Jenkins的工作环境下与windows的默认环境有所区别,我们只需要配置一下Jenkins的环境变量即可 
系统管理->管理节点->选择需要使用的主机->配置从节点 
新建一个键值对列表,键名PATH,把npm和nodejs的路径放进来即可 
 postman+newman+jenkins 持续集成搭建及使用,实现接口自动化_第7张图片
点击保存之后我们再去构建就没有问题了。

Newman 执行脚本

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
 

你可能感兴趣的:(postman)