Postman Newman 快速入门

什么是 Newman?

Newman 是一款专为 Postman 打造的命令行工具,旨在通过自动运行 Postman 集合和环境,实现 API 测试的自动化。它使得开发者无需打开 Postman 图形界面,即可直接在命令行中执行测试用例。

Newman 的优势

使用 Newman 进行 API 测试,可以带来诸多好处:

  1. 快速反馈:每当代码发生变更,开发者都可以借助 Newman 迅速获悉 API 性能的最新状况。
  2. 持续集成:Newman 可以与持续集成(CI)系统无缝对接。一旦有任何代码变更被推送,CI 系统便会自动触发 Newman 运行相应的 Postman 集合。
  3. 全面测试:Newman 能够全方位测试 API 的功能、性能、可靠性和安全性。
  4. 多样化报告:测试结果可以通过 Newman 导出为 HTML、JSON、JUnit 等多种格式的报告,方便开发者定位问题和分析数据。

如何上手 Newman?

准备工作

  1. 确保已安装 Node.js(版本不低于 v4)。如果尚未安装,请先下载并安装 Node.js

  2. 打开命令行,运行以下命令,从 npm 全局安装 Newman:

    复制代码
    npm install -g newman

导出 Postman 数据

  1. 在 Postman 中,将所需的 Collection 导出为 JSON 格式的文件。
  2. 如有需要,也可以在环境变量设置中下载相应的环境变量文件(Global 或 Environment)。

运行测试

使用以下命令运行 Newman 测试:

css 复制代码
newman run [collection.json] -e [environment.json] -r [reporter] --reporter-[option] [value]

其中:

  • collection.json 是 Collection 文件的路径。
  • environment.json 是环境变量文件的路径(可选)。
  • reporter 是报告格式,如 cli、json、html 等。
  • --reporter-[option] [value] 是报告选项和值。

例如,要运行 sample-collection.json 集合并生成名为 report.html 的 HTML 报告,可以使用以下命令:

arduino 复制代码
newman run examples/sample-collection.json -e examples/sample-environment.json -r html --reporter-html-export report.html

分析报告

Newman 支持以下三种报告格式:

  1. CLI 格式:默认格式,在命令行中直接显示测试结果。
  2. JSON 格式 :使用 -r json 参数指定,并通过 --reporter-json-export 参数指定导出文件的路径。不推荐使用。
  3. HTML 格式 :使用 -r html 参数指定,并通过 --reporter-html-export 参数指定导出文件的路径。使用前需要运行 npm install -g newman-reporter-html 安装相应的报告器。推荐使用。

其他选择

对于国内用户而言,使用 npm 安装 Newman 可能会遇到网速慢、需要切换镜像源等问题。如果你希望避免这些麻烦,不妨试试国产 API 管理工具 Apifox

与 Postman 不同,Apifox 将 API 文档、调试、Mock 和自动化测试等功能集于一身,让你无需在多个工具之间频繁切换,从而避免数据不一致的问题。它提供了一站式的 API 开发体验,值得一试。

相关推荐
草履虫建模5 小时前
力扣算法 1768. 交替合并字符串
java·开发语言·算法·leetcode·职场和发展·idea·基础
qq_297574677 小时前
【实战教程】SpringBoot 实现多文件批量下载并打包为 ZIP 压缩包
java·spring boot·后端
老毛肚7 小时前
MyBatis插件原理及Spring集成
java·spring·mybatis
学嵌入式的小杨同学7 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
lang201509287 小时前
JSR-340 :高性能Web开发新标准
java·前端·servlet
Re.不晚7 小时前
Java入门17——异常
java·开发语言
缘空如是8 小时前
基础工具包之JSON 工厂类
java·json·json切换
追逐梦想的张小年8 小时前
JUC编程04
java·idea
好家伙VCC8 小时前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc
南极星10059 小时前
蓝桥杯JAVA--启蒙之路(十)class版本 模块
java·开发语言