postman-Newman插件

使用 newman 命令,运行导出的测试集脚本,打开 cmd 输入:

cmd 复制代码
newman run 测试脚本文件 -e 环境变量文件 -d 测试数据文件 -r html --reporter-html-export report.html
  • run xxx.json:表示要执行的 postman 脚本,即导出的测试集数据
  • -e source:用来指定环境变量文件的路径
  • -d source:用来指定测试数据文件的路径

Newman 插件使用笔记

Newman 是 Postman 的命令行运行工具,可将 Postman 中创建的测试集(Collection)脱离图形界面执行,支持批量运行、数据驱动测试及生成可视化报告,常用于接口自动化测试、CI/CD 集成等场景。

一、前置准备:安装 Newman

Newman 基于 Node.js 开发,需先安装 Node.js(建议 v14+ 版本),再通过 npm 安装 Newman。

1. 验证 Node.js 环境

打开 CMD 或终端,输入以下命令,若能显示版本号则说明 Node.js 已安装成功:

cmd 复制代码
node -v  # 查看 Node.js 版本
npm -v   # 查看 npm 包管理器版本

2. 安装 Newman

在 CMD/终端中执行以下命令,全局安装 Newman:

cmd 复制代码
npm install -g newman

3. 验证 Newman 安装

安装完成后,输入以下命令,显示版本号即安装成功:

cmd 复制代码
newman -v

二、核心命令:运行 Postman 测试集

1. 基础命令格式

cmd 复制代码
newman run <测试集文件> [选项参数]

2. 完整命令示例(含常用参数)

cmd 复制代码
newman run 测试集文件.json -e 环境变量文件.json -d 测试数据文件.csv -r html,junit --reporter-html-export 报告输出路径/report.html --reporter-junit-export 报告输出路径/junit.xml

三、关键参数详解

参数 作用说明 示例
run <文件> 核心指令,指定要执行的 Postman 测试集文件(需导出为 JSON 格式) run api_test_collection.json
-e <文件> 指定环境变量文件(Postman 中导出的环境 JSON,含域名、Token 等环境变量) -e dev_env.json
-d <文件> 指定测试数据文件(支持 CSV/JSON 格式,用于数据驱动测试,如多组入参) -d test_data.csv
-r <报告类型> 启用报告生成,支持多种类型(如 html、junit、json、cli),多类型用逗号分隔 -r html,junit
--reporter-html-export <路径> 指定 HTML 报告的输出路径及文件名(若不指定,默认生成在当前目录) --reporter-html-export ./report/202405_test.html
--reporter-junit-export <路径> 指定 JUnit 报告路径(用于 Jenkins 等 CI 工具集成) --reporter-junit-export ./report/junit.xml
-n <次数> 指定测试集的运行次数(用于压力测试基础场景) -n 10(运行 10 次)
-k 忽略 SSL 证书验证(测试环境中接口若为 HTTPS 且证书无效时使用) newman run test.json -k

四、文件准备:Postman 导出必要文件

需从 Postman 中导出 3 类核心文件(根据测试需求选择,非全部必选):

  1. 测试集文件(Collection)

    • 路径:Postman 左侧「Collections」→ 选中目标测试集 → 右键「Export」→ 选择「Collection v2.1」格式 → 保存为 JSON 文件(如 api_collection.json)。
    • 作用:包含所有接口请求、断言脚本、前置脚本等核心测试逻辑。
  2. 环境变量文件(Environment)

    • 路径:Postman 左侧「Environments」→ 选中目标环境 → 右键「Export」→ 保存为 JSON 文件(如 dev_env.json)。
    • 作用:存储环境相关变量(如 {``{baseUrl}}{``{token}}),切换环境时只需更换该文件,无需修改测试集。
  3. 测试数据文件(Data File)

    • 格式:支持 CSVJSON(CSV 更易维护多组数据)。

    • 示例(CSV 格式):

      username password expected_code
      test1 123456 200
      test2 wrongpwd 401
    • 作用:通过 -d 参数引用,实现"一套脚本跑多组数据"的数据驱动测试 ,脚本中通过 data.username 引用数据。

五、实战案例:完整流程演示

以"测试登录接口"为例,完整步骤如下:

1. 准备文件

  • 测试集文件:login_collection.json(含登录接口请求、断言"响应码为 200")。
  • 环境变量文件:dev_env.json(含 {``{baseUrl}} = http://test-api.com)。
  • 测试数据文件:login_data.csv(2 组测试数据:正确账号、错误账号)。

2. 执行命令

打开 CMD,进入文件所在目录(如 cd D:\api_test),执行命令:

cmd 复制代码
newman run login_collection.json -e dev_env.json -d login_data.csv -r html --reporter-html-export ./login_report.html -k

3. 查看结果

  • 执行过程:CMD 中会实时显示每个接口的请求状态、断言结果(绿色 PASS 为通过,红色 FAIL 为失败)。
  • 报告查看:执行完成后,在指定路径(如 D:\api_test)找到 login_report.html,用浏览器打开即可查看可视化报告,包含接口详情、断言结果、响应时间等信息。

六、常见问题与解决方案

问题现象 可能原因 解决方案
提示"newman 不是内部或外部命令" Node.js 环境变量未配置,或 Newman 未安装成功 1. 重新安装 Newman:npm install -g newman;2. 检查 Node.js 的 node_global 目录是否添加到系统环境变量「Path」中。
执行时提示"SSL 证书错误" 测试环境 HTTPS 证书无效 命令中添加 -k 参数,忽略 SSL 验证。
数据驱动时提示"data.xxx is undefined" 数据文件路径错误,或字段名与脚本不匹配 1. 检查 -d 后的文件路径是否正确;2. 确认 CSV/JSON 中的字段名与脚本中 data.字段名 一致。
HTML 报告未生成 未指定 -r html 参数,或路径无写入权限 1. 补充 -r html 参数;2. 选择有写入权限的路径(如桌面)。

七、进阶用法:集成 CI/CD 工具

Newman 可与 Jenkins、GitLab CI 等工具集成,实现"代码提交后自动执行接口测试":

  1. 在 CI 服务器上安装 Node.js 和 Newman。

  2. 将测试集、环境文件、数据文件存入代码仓库(如 Git)。

  3. 在 CI 配置文件中添加命令(如 Jenkins 的 Execute Windows batch command):

    cmd 复制代码
    npm install -g newman
    newman run ./test/login_collection.json -e ./env/dev_env.json -r junit --reporter-junit-export ./report/junit.xml
  4. 配置 JUnit 报告路径,CI 工具会自动读取报告并展示测试结果,失败时触发告警。

相关推荐
Run Freely93711 小时前
接口测试-postman-全局变量与环境变量
测试工具·postman
我的xiaodoujiao14 小时前
从 0 到 1 搭建 Python 语言 Web UI自动化测试学习系列 8--基础知识 4--常用函数 2
前端·python·测试工具·ui
程序员小远18 小时前
常用的测试用例
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
小熊出擊3 天前
【pytest】finalizer 执行顺序:FILO 原则
python·测试工具·单元测试·pytest
balance_rui3 天前
操作技巧——vscode.git.
postman
云闲不收3 天前
接口请求工具对比 apifox apipost swagger postman等
测试工具·postman
sitellla3 天前
Testify Go测试工具包入门教程
git·测试工具·其他·golang
我的xiaodoujiao3 天前
从 0 到 1 搭建 Python 语言 Web UI自动化测试学习系列 9--基础知识 5--常用函数 3
前端·python·测试工具·ui
可可南木4 天前
ICT 数字测试原理 8 - -VCL 的测试参数
开发语言·功能测试·测试工具·pcb工艺