掌握 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 小时前
Kubernetes DNS 完全指南:服务发现核心机制与实践
java·kubernetes·服务发现
逻辑驱动的ken1 小时前
Java高频面试考点场景题14
java·开发语言·深度学习·面试·职场和发展·求职招聘·春招
阿冰冰呀2 小时前
互联网大厂Java求职面试实录:谢飞机的“水货”之路
java·mybatis·dubbo·springboot·线程池·多线程·hashmap
水无痕simon2 小时前
1.单机部署Nacos1.3.2
java
Java小生不才4 小时前
spring AI文生图
java·人工智能·spring ai
阿丰资源4 小时前
基于SpringBoot的在线视频教育平台的设计与实现(附源码+数据库+文档,一键运行)
数据库·spring boot·后端
苍煜4 小时前
ThreadPoolExecutor线程池终极全解:同步异步判定+SpringBoot生产实战
java·开发语言·spring boot
IT_陈寒4 小时前
我竟然被JavaScript的隐式类型转换坑了三天!
前端·人工智能·后端
Reart4 小时前
从0解构tinyWeb项目--(Day:9)
后端·架构·github
小码哥_常4 小时前
Java后端定时任务“三剑客”大比拼,选对不选贵!
后端