前言
前面的应用中,都是在postman图形界面工具里面进行测试,但是有时候我们需要把测试脚本集成到CI平台,或者在非图形界面的系统环境下进行测试,那么我们该如果处理呢
通过newman来执行postman测试脚本,并生成测试报告
Newman是一款基于nodejs开发的可以运行postman脚本的工具,使用Newman,可以直接从命令运行和测试postman集合
环境准备
一、安装nodejs
1.安装Newman需要先安装nodejs 下载地址: http://nodejs.cn/download/
下载后一路next ,安装后,打开cmd,输入node -v ,看到输出node的版本信息,即代表安装成功,环境变量设置也正确。
二、安装newman
cmd输入 npm install newman –global
安装完成后,输入指令 newman -v 查看版本,检测是否安装成功,这里注意,newman的包被安装在了npm工具的包下
如上图,即安装正确,接下来安装html报告
npm install -g newman-reporter-html
执行测试
一、从postman导出测试集合
新建一个文件夹pmtest,将导出的json脚本和测试数据都放入该文件夹中
Newman 执行脚本
命令行运行测试集合,cmd 进入到pmtest的json文件的目录下,输入指令
newman run postmanEcho.postman_collection.json(测试脚本) -d 测试数据 -r html
查看测试报告
在测试文件夹pmtest文件里面生成一个Newman文件夹,打开就可以看到生成的测试报告
测试报告内容:
newman不仅支持生成html报告,还支持其他格式的报告:
- JSON report
- JUNIT/XML report
- Client report
- HTML report
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)指定等待脚本执行完成的时间