前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >postman系列(六):使用newman来执行postman脚本

postman系列(六):使用newman来执行postman脚本

作者头像
冰霜
发布2022-03-15 15:51:06
1.6K0
发布2022-03-15 15:51:06
举报
文章被收录于专栏:冰霜的软件测试技术分享

通过之前的了解,我们知道postman是基于javascript语言编写的,而导出的json格式的postman脚本也无法直接在服务器运行;

它需要在newman中执行(可以把newman看做postman脚本的运行环境)

所以要实现在windows的cmd窗口或者linux系统中直接以命令的方式执行脚本,我们需要安装node.js;

然后再在此基础上安装newman,了解newman:

https://learning.getpostman.com/docs/postman/collection_runs/command_line_integration_with_newman/

一. windows下安装

1.安装node.js

到官网下载最新的windows版node.js,直接安装即可(不用自己去配置环境变量,安装完成后会自动配好)

官网下载地址:https://nodejs.org/dist/v10.15.1/node-v10.15.1-linux-x64.tar.xz

安装完成后,打开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,需要分两步解压

官网下载地址:https://nodejs.org/dist/v10.15.1/node-v10.15.1-linux-x64.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的常用命令

官方的文档介绍如下:

https://learning.getpostman.com/docs/postman/collection_runs/command_line_integration_with_newman/

使用newman run 来执行脚本,先看下有哪些可选参数

代码语言:javascript
复制
[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: 0)
--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: 0)
--timeout-request [n] Specify a timeout for requests (in milliseconds). (default: 0)
--timeout-script [n] Specify a timeout for script (in milliseconds). (default: 0)
--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是一些组合参数,介绍下我用到的几个参数
(1) -e 指定环境变量,把在postman中设置的环境变量导出,然后再把路径填写到这里即可
(2) -g 指定全局变量,把在postman中设置的全局变量导出,然后再把路径填写到这里即可
(3) -n 指定迭代次数,即运行n次脚本
(4) --timeout-request 指定请求的超时时间
(5) -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格式的报告长下面这个样子,还是蛮难看的

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 冰霜blog 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档