NEWMAN--postman命令行工具
安装
- 安装node.js 参考node.js安装指导
- 命令行工具执行
npm install -g newman
- 检查:
newman -v
- 执行命令:
newman run <collection-file-source> [options]
使用报错集锦
输入命令报错
error: unknown option `--export-globals'
- 解决办法:导出全局变量使用关键字 -G
无法生成报告
error creating path for file "newman\newman-run-report-2018-02-24-02-48-21-707-0.html" for html-reporter EEXIST: file already exists, mkdir 'C:\Users\xxx\AppData\Roaming\npm\newman'
- 解决办法:newman默认在执行命令的当前目录下的
/newman
目录下生成当前时间变量的测试报告,所以保证当前目录下有此文件夹即可。 如下述命令,需保证在C:\Users\xxx
路径下有newman
文件夹,而不受C:\Users\xxx\AppData\newman
影响
C:\Users\xxx>newman -c C:\Users\xxx\Desktop\1.postmancollection.json -g C:\Users\xxx\AppData\Local\Postman\env\globals.postmanglobals.json -G C:\Users\xxx\AppData\Local\Postman\env\tempGlobalEnvtempGEnv.json -H C:\Users\xxx\AppData\newman
以上为newman V2命令,V3如下:
C:\Users\xxx>newman run C:\Users\xxx\Desktop\1.postmancollection.json --globals C:\Users\xxx\AppData\Local\Postman\env\globals.postmanglobals.json --export-globals C:\Users\xxx\AppData\Local\Postman\env\tempGlobalEnv\tempGEnv.json --reporters cli,html,json,junit --reporter-json-export jsonOut.json --reporter-junit-export xmlOut.xml --reporter-html-export htmlOutput.html
注意:cmd命令行执行命令时,--reporters cli,html,json,junit
后如果带上所有格式的报告导出命令,则生成不了报告,即要生成某种格式的报告(如生成HTML格式报告),则不要写该格式的命令(则写--reporters cli,html,json,junit --reporter-json-export jsonOut.json --reporter-junit-export xmlOut.xml
即可生成HTML格式的报告)
但是在Jenkins中配置时则无此规则,写什么格式生成什么格式的报告,还有不同的则是无法自动生成对应时间格式的报告。如下Jenkins版本
newman run C:\Users\xxx\Desktop\1.postmancollection.json --globals C:\Users\xxx\AppData\Local\Postman\env\globals.postmanglobals.json --export-globals C:\Users\xxx\AppData\Local\Postman\env\tempGlobalEnv\tempGEnv.json --reporters cli,html,json,junit --reporter-json-export C:\Users\xxx\newman\newman-run-report-system.date.json --reporter-junit-export C:\Users\xxx\newman\newman-run-report-system.date.xml --reporter-html-export C:\Users\xxx\newman\newman-run-report-{{date}}.html
常用命令
-
获取帮助
newman -h
详见newman官方文档 -
导入导出变量
newman -c <collection-file-source> -g(导入全局变量)<path> -e(导入环境变量)<path> -G(导出全局变量)<path> -E(导出环境变量)<path>
e.gC:\Users\xxx\AppData\Roaming\npm>newman -c C:\Users\xxx\Desktop\1.postmancollection.json -g C:\Users\xxx\AppData\Local\Postman\env\globals.postmanglobals.json -G C:\Users\xxx\AppData\Local\Postman\env\tempGlobalEnv\tempGEnv.json
-
循环
newman -c <collection-file-source> -n num(循环次数)
-
输出报告
newman -c <collection-file-source> -H<path>
e.g
C:\Users\xxx>newman run C:\Users\xxx\Desktop\1.postmancollection.json --globals C:\Users\xxx\AppData\Local\Postman\env\globals.postmanglobals.json --export-globals C:\Users\xxx\AppData\Local\Postman\env\tempGlobalEnv\tempGEnv.json --reporters cli,html,json,junit --reporter-json-export jsonOut.json --reporter-junit-export xmlOut.xml --reporter-html-export htmlOutput.html