如何使用Newman 命令行的方式去运行API脚本?

简介: 如何使用Newman 命令行的方式去运行API脚本?

大家好,我是阿萨。日常的API 测试除了界面之外,有时候需要使用命令行去运行API 脚本。这样方便在不同环境 后台去运行API脚本。

今天就来学习下Newman


一,什么是Newman?


Newman是Postman的命令行运行器。它能够直接从命令行运行和测试Postman Collection。它有较强的可扩展性,可以将其与持续集成服务器集成并运行。

Newman 有Postman相同的特性,并以Postman中Collection运行程序中执行Collection方式运行。


二, 如何安装Newman?


Newman是基于Node.js构建的。要运行Newman,请确保安装了Node.js。按照以下步骤下载用于CI平台的Node.js。确保使用Node.js v4或更高版本。

在系统上全局安装npm中的Newman,这样就可以在任何地方运行它:


npm install -g newman


三,如何用Newman 运行 Collection?


  1. 首先使用Postman的导出功能,把Collection 导出成json 结尾的文件。


  1. 导出后,直接用命令行运行。json文件路径可以是一个URL 下的,也可以是一个物理路径的绝对地址或者相对地址。
newman run mycollection.json

3. Newman 运行结果也可以导出报告。使用如下命令:

newman run sarah_demo.json --reporters cli,json --reporter-json-export outputfile.json

4. Newman 运行带data 文件的报告,使用如下命令:

newman  run sarah_demo.json -d data.json

Newman 运行界面:




四,Newman 提供的参数列表有哪些?


设置newman 命令行 的参数可以是如下列表:


-h,--help

输出使用信息
-v,--version

输出版本号

--folder [folderName]

指定要从Collection运行的单个文件夹。
-e,--environment [file|URL]

指定Postman环境为JSON[文件]。
-d,--iteration-data [file]

指定要使用的数据文件,可以是JSON也可以是CSV。
-g,--globals [file]

指定Postman globals文件为JSON [file]。
-n,--iteration-count [number]

定义要运行的迭代次数。
--working-dir [path]

设置读取相对路径文件时使用的工作目录路径。默认为当前目录。
--no-insecure-file-read

防止读取位于工作目录之外的文件。
--export-environment [path]

文件的路径,在完成运行之前,Newman将在此输出最终的环境变量文件。
--export-globals [path]

文件的路径,在完成运行之前,Newman将在此输出最终的全局变量文件。
--export-collection [path]

文件的路径,在完成运行之前,Newman将在此输出最终的收集文件。

--delay-request [number]

指定请求之间的延迟时间(毫秒)[number]。
--timeout [number]

指定整个收集运行完成执行的时间(以毫秒为单位)。
--timeout-request [number]

指定请求的超时时间(以毫秒为单位)。
--timeout-script [number]

指定脚本完成执行的等待时间(毫秒)。


五,总结


Newman 弥补了Postman 是个GUI 工具,无法使用命令行的缺陷。同时也可以在CI部署相关命令,方便运行API 用例。是不是很强大。


你学会了吗?

Postman 往期内容:

阿萨聊测试:如何在Mac 电脑上安装Postman?

阿萨聊测试:Postman 的界面功能介绍

阿萨聊测试:如何用Postman 发送请求?

阿萨聊测试:如何用Postman查看HTTP消息相关内容?

如何使用Postman 录制请求?

如何用好Postman中的变量?

如何使用Postman 做好Cookie管理以及授权?

用Postman 如何设置断言?

如何使用Postman里的collections?

Postman 导入导出API 的用法

如何使用Postman 测试Https 网站?

Postman的前置操作是干什么的?

Postman 提供的Javascript 对象有哪些?

Postman 如何定时 自动化运行Collections?

如何在集合中指定request的执行顺序?

相关文章
|
4月前
|
敏捷开发 API
【sgCreateAPI】自定义小工具:敏捷开发→自动化生成API接口脚本(接口代码生成工具)
【sgCreateAPI】自定义小工具:敏捷开发→自动化生成API接口脚本(接口代码生成工具)
|
7月前
|
API
ROS Service 相关API接口与命令行介绍
ROS Service 相关API接口与命令行介绍
102 0
|
消息中间件 监控 安全
探究如何在Linux系统中修改进程资源限制:四种方法调整进程限制,让你的系统高效运行(包含应用层getrlimit和setrlimit API)
探究如何在Linux系统中修改进程资源限制:四种方法调整进程限制,让你的系统高效运行(包含应用层getrlimit和setrlimit API)
47 0
|
4月前
|
API C# 图形学
【Unity 3D】常见API的讲解以及在C#脚本中的执行(附源码)
【Unity 3D】常见API的讲解以及在C#脚本中的执行(附源码)
64 1
|
5月前
|
Shell API Docker
ansible api执行远程脚本结果中文乱码报错
ansible api执行远程脚本结果中文乱码报错
|
5月前
|
JavaScript
unicloud上传部署在云端运行报CERT_HAS_EXPIRED:certificate has expired, POST https://api.openai.com/v1/completio
unicloud上传部署在云端运行报CERT_HAS_EXPIRED:certificate has expired, POST https://api.openai.com/v1/completio
|
7月前
|
存储 API C++
ROS Topic 相关API接口与命令行介绍
ROS Topic 相关API接口与命令行介绍
340 0
|
9月前
|
前端开发 JavaScript 关系型数据库
宝塔设置PHP定时任务实战记录(定时任务、ajax异步刷新API、shell脚本、访问url)
宝塔设置PHP定时任务实战记录(定时任务、ajax异步刷新API、shell脚本、访问url)
480 0
|
19天前
|
缓存 前端开发 API
API接口封装系列
API(Application Programming Interface)接口封装是将系统内部的功能封装成可复用的程序接口并向外部提供,以便其他系统调用和使用这些功能,通过这种方式实现系统之间的通信和协作。下面将介绍API接口封装的一些关键步骤和注意事项。
|
25天前
|
监控 前端开发 JavaScript
实战篇:商品API接口在跨平台销售中的有效运用与案例解析
随着电子商务的蓬勃发展,企业为了扩大市场覆盖面,经常需要在多个在线平台上展示和销售产品。然而,手工管理多个平台的库存、价格、商品描述等信息既耗时又容易出错。商品API接口在这一背景下显得尤为重要,它能够帮助企业在不同的销售平台之间实现商品信息的高效同步和管理。本文将通过具体的淘宝API接口使用案例,展示如何在跨平台销售中有效利用商品API接口,以及如何通过代码实现数据的统一管理。