掌握 Postman Newman:快速启动 API 测试自动化

Postman 中的 Newman 是什么?

Newman 是一个 CLI(命令行界面)工具,用于运行 Postman 中的集合(Collection)和环境(Environment)来进行自动化测试。它允许直接从命令行运行 Postman 集合。根据 Postman 的官方网站,他们将 Newman 描述为 Postman 的命令行 Collection Runner。

Postman Newman 的作用

通过 Postman Newman ,开发人员可以在代码更改后快速获得有关 API 性能的反馈。在 Newman 的帮助下,它与 CI 集成,此后如果推送任何更改,CI 将与 Newman 一起运行 Postman 集合。Newman 可以用来测试 API 的功能、性能、可靠性和安全性,同时可以将测试结果输出成多种格式的报告(如 HTML、JSON、JUnit 等),以方便开发人员进行问题定位和分析。

如何使用 Postman Newman

第一步:安装 Node.js

首先,Newman 建立在 Node.js 之上。要运行 Newman,请确保安装了 Node.js。如果没有配置请先下载安装 Node.js (注意:某些 CI 系统具有预安装 Node 的配置), 要确保使用的是 Node.js v4 或更高版本。

第二步:从 npm 全局安装 Newman

复制代码
$ npm install -g newman

第三步:导出集合或环境变量为 json 格式

将 Collection 导出为 json 格式文件或在环境变量设置中下载需要的环境变量 (Global 或 Environment) ,导出 json 格式的文件。

第四步:Newman 运行

Newman 常用参数:

  • -e:--environment [file|URL]:指定postman环境变量文件(Json文件);
  • -d:--data [file]:指定postman参数化文件(支持csv、json格式等);
复制代码
复制代码
$ newman run [collection.json] -e [environment.json] -r [reporter] --reporter-[option] [value]

其中,collection.json 是集合文件的路径,environment.json 是环境文件的路径,reporter 是报告格式,--reporter-[option] [value] 是报告选项和值。

第五步:导出报告

Newman 提供了三种格式的报告,包括cli、json及html格式,需要通过-r参数指定:

  • Cli 格式:基础格式,默认cmd中显示的报告格式;
  • json 格式:使用-r json指定导出相应的文件,需要 ----reporter-json-export指定导出文件的存放路径,文件内容与postman runner中的export result内容相似,不建议使用。
  • Html 格式:使用-r html指定导出相应的文件,需要----reporter-html-export指定导出文件的存放路径。使用前需要安装(npm --g install newman-reporter-html),建议使用。
复制代码
复制代码
$ newman run examples/sample-collection.json -e examples/sample-environment.json -r htmlextra --reporter-htmlextra-export report.html

本例子中运行 sample-collection.json 集合中的测试用例,并生成一个名为 report.html 的 HTML 报告。

知识扩展:

了解更多 Postman 相关使用技巧:

相关推荐
申阳1 分钟前
Day 7:05. 基于Nuxt开发博客项目-首页开发
前端·后端·程序员
乐悠小码2 分钟前
Java设计模式精讲---04原型模式
java·设计模式·原型模式
秋风&萧瑟6 分钟前
【C++】智能指针介绍
java·c++·算法
QiZhang | UESTC8 分钟前
JAVA算法练习题day67
java·python·学习·算法·leetcode
毕设源码-朱学姐19 分钟前
【开题答辩全过程】以 基于java的民宿管理小程序为例,包含答辩的问题和答案
java·开发语言·小程序
それども24 分钟前
List 添加元素提示 UnsupportedOperationException
java
ᐇ95928 分钟前
Java集合框架:深入理解List与Set及其实现类
java·开发语言
无名-CODING29 分钟前
Java集合List详解:从入门到精通
java·windows·list
laplace012338 分钟前
JAVA-Redis上
java·redis·spring
bcbnb42 分钟前
HTTP抓包分析神器,Fiddler使用教程、代理设置与HTTPS调试全指南(开发者实战分享)
后端