掌握 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 分钟前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
金銀銅鐵4 分钟前
[Java] 用 CLI 展示 EnumMap 增删键值对时的内部变化
java·源码·ai编程
秋天的怀念_David29 分钟前
第二十二夜 · 数字迷雾
java·程序人生·算法
Raas10042 分钟前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
niucloud-admin1 小时前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php
霸道流氓气质2 小时前
智能客服组件:分层意图识别、RAG Advisor 与人工转接状态机的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
captain3762 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
心中有你02143 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
步行cgn3 小时前
Spring MVC + Thymeleaf 模板解析失败:从 500 错误到页面正常显示
java·spring·mvc
IT_陈寒4 小时前
Java序列化踩坑记:对象循环引用让我加班两小时
前端·人工智能·后端