通过之前的了解,我们知道postman是基于javascript语言编写的,而导出的json格式的postman脚本也无法直接在服务器运行,它需要在newman中执行(可以把newman看做postman脚本的运行环境)
所以要实现在windows的cmd窗口或者linux系统中直接以命令的方式执行脚本,我们需要安装node.js,然后再在此基础上安装newman
 
一.windows下安装
1.安装node.js
到官网下载最新的windows版node.js,直接安装即可(不用自己去配置环境变量,安装完成后会自动配好)
安装完成后,打开cmd窗口,输入 node -v,如下出现版本号表示安装成功
 
2.安装newman
可以通过npm来安装newman,npm 是 JavaScript 的包管理工具,并且是 Node.js 平台的默认包管理工具。通过 npm 可以安装、共享、分发代码,管理项目依赖关系。
一般安装好node.js后会默认安装好npm的,直接使用即可
打开cmd窗口,执行以下命令
npm -g install newman
安装完成后,输入newman -v,如下出现版本号表示安装成功
 
3.如果想生成html格式的测试报告,还需要安装 newman-reporter-html
npm install -g newman-reporter-html
 
 
二.linux系统下安装
安装node.js
1.下载linux版本安装包,因为后缀为.tar.xz,需要分两步解压
[root@localhost hanmk]# xz -d node-v10.15.1-linux-x64.tar.xz
[root@localhost hanmk]# tar -xvf node-v10.15.1-linux-x64.tar
 
2.在环境变量中添加node.js路径
打开/etc/profile文件,添加如下两行
export NODE_HOME=/hanmk/node-v10.15.1-linux-x64
export PATH=$NODE_HOME/bin:$PATH
更新文件
[root@localhost node-v10.15.1-linux-x64]# source /etc/profile
 
3.查看是否安装成功
[root@localhost node-v10.15.1-linux-x64]# node -v
v10.15.1
 
安装newman
[root@localhost node-v10.15.1-linux-x64]# npm -g install newman
[root@localhost node-v10.15.1-linux-x64]# newman -v
4.3.1
 
安装newman-reporter-html
[root@localhost postman_script]# npm install -g newman-reporter-html
npm WARN newman-reporter-html@1.0.2 requires a peer of newman@4 but none is installed. You must install peer dependencies yourself.
 
+ newman-reporter-html@1.0.2
added 29 packages from 66 contributors in 13.266s
 
newman的常用命令
使用newman run 来执行脚本,先看下有哪些可选参数
[root@localhost bin]# newman run -h
Usage: run <collection> [options] URL or path to a Postman Collection. Options:
-e, --environment <path> Specify a URL or Path to a Postman Environment.
-g, --globals <path> Specify a URL or Path to a file containing Postman Globals.
--folder <path> Specify folder to run from a collection. Can be specified multiple times to run multiple folders (default: [])
-r, --reporters [reporters] Specify the reporters to use for this run. (default: ["cli"])
-n, --iteration-count <n> Define the number of iterations to run.
-d, --iteration-data <path> Specify a data file to use for iterations (either json or csv).
--export-environment <path> Exports the environment to a file after completing the run.
--export-globals <path> Specify an output file to dump Globals before exiting.
--export-collection <path> Specify an output file to save the executed collection
--postman-api-key <apiKey> API Key used to load the resources from the Postman API.
--delay-request [n] Specify the extent of delay between requests (milliseconds) (default: )
--bail [modifiers] Specify whether or not to gracefully stop a collection run on encountering an errorand whether to end the run with an error based on the optional modifier.
-x , --suppress-exit-code Specify whether or not to override the default exit code for the current run.
--silent Prevents newman from showing output to CLI.
--disable-unicode Forces unicode compliant symbols to be replaced by their plain text equivalents
--global-var <value> Allows the specification of global variables via the command line, in a key=value format (default: [])
--color <value> Enable/Disable colored output. (auto|on|off) (default: "auto")
--timeout [n] Specify a timeout for collection run (in milliseconds) (default: )
--timeout-request [n] Specify a timeout for requests (in milliseconds). (default: )
--timeout-script [n] Specify a timeout for script (in milliseconds). (default: )
--ignore-redirects If present, Newman will not follow HTTP Redirects.
-k, --insecure Disables SSL validations.
--ssl-client-cert <path> Specify the path to the Client SSL certificate. Supports .cert and .pfx files.
--ssl-client-key <path> Specify the path to the Client SSL key (not needed for .pfx files)
--ssl-client-passphrase <path> Specify the Client SSL passphrase (optional, needed for passphrase protected keys).
-h, --help output usage information <collection>是指单个请求或者从postman导出的集合文件(也就是json格式的脚本)
options是一些组合参数,介绍下我用到的几个参数
() -e 指定环境变量,把在postman中设置的环境变量导出,然后再把路径填写到这里即可
() -g 指定全局变量,把在postman中设置的全局变量导出,然后再把路径填写到这里即可
() -n 指定迭代次数,即运行n次脚本
() --timeout-request 指定请求的超时时间
() -r 指定运行报告的格式,可以为json格式、html格式,默认为cli格式,即在命令行展示运行结果
 
实例1:
把接口测试脚本和环境变量脚本导出放到一个目录中,在cmd窗口中切换到该目录,执行如下命令
E:\5.coding\postman>newman run Test.postman_collection.json -n 2 -e base_url.postman_environment.json
Test.postman_collection.json -- 接口测试脚本文件
base_url.postman_environment.json -- 环境变量文件
-n 2表示迭代2次
执行过程如下
执行完成后,会出现一个类似报表的东西,显示整体运行结果

实例2:
E:\5.coding\postman>newman run Test.postman_collection.json -e base_url.postman_environment.json --reporters cli,json,html --reporter-json-export report-json.json --reporter-html-export report-html.html
 
--reporters cli,json,html --reporter-json-export report-json.json --reporter-html-export report-html.html
表示生成json和html格式的报告
html格式的报告长下面这个样子,还是蛮难看的。

最新文章

  1. Java创建树形结构算法实例
  2. java程序员的技能要求
  3. [QualityCenter]设置工作流脚本-新建缺陷时字段自动生成
  4. pascal矩阵
  5. Sublime Text 3 LESS、SASS、SCSS高亮插件、提示插件
  6. Jenkins+Gitlab CE+Robot Framework持续集成
  7. Activiti 流程部署方式 activi 动态部署(高级源码篇)
  8. tomcat部署项目后,war包是否可刪?war包存在必要性!
  9. iOS学习——Quartz2D学习之DrawRect
  10. docker 复制镜像和复制容器
  11. 中国地图插件世界地图||jQuery矢量SVG地图插件JVectorMap
  12. 键盘回收(text filed,textview)
  13. oracle impdp导入脚本
  14. uCrop图片裁剪
  15. 论文笔记之:Heterogeneous Face Attribute Estimation: A Deep Multi-Task Learning Approach
  16. 获取docker容器的ip地址
  17. 43.scrapy爬取链家网站二手房信息-1
  18. CS50.1
  19. hdu 5441 (2015长春网络赛E题 带权并查集 )
  20. datatable 使用LAMBDA表达查询,过滤

热门文章

  1. 黏包:传输过程中 read(不可靠)传输时由于网络造成黏包
  2. 5.0-uC/OS-III时间管理
  3. NuGet Install-Package报错解决Package Manager Console error - PowerShell version 2.0 is not supported. Please upgrade PowerShell to 3.0 or greater and restart Visual Studio.
  4. PHP自定义curl请求
  5. 《Java程序设计》 第五周学习总结
  6. 133A
  7. React之ant design的table表格序号连续自增
  8. 这5个实用技巧,教你设计出更好的App
  9. 下载工具axel 和 mwget
  10. javascript DOM 常用方法