NEWMAN--postman命令行工具

安装

  1. 安装node.js 参考node.js安装指导
  2. 命令行工具执行 npm install -g newman
  3. 检查:newman -v
  4. 执行命令: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

常用命令

  1. 获取帮助 newman -h
    详见newman官方文档

  2. 导入导出变量newman -c <collection-file-source> -g(导入全局变量)<path> -e(导入环境变量)<path> -G(导出全局变量)<path> -E(导出环境变量)<path>e.g

    C:\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

  3. 循环 newman -c <collection-file-source> -n num(循环次数)

  4. 输出报告 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