软件测试 ——Postman(Newman的使用)

软件测试 ------Postman(Newman的使用)

Newman 是 Postman 的命令行工具,用于运行和测试 Postman 集合。它允许用户在没有图形用户界面(GUI)的情况下执行 API 测试集合,并且可以很容易地集成到持续集成/持续部署(CI/CD)管道中,以便自动化 API 测试流程。

Newman 的主要功能

  1. 运行 Postman 集合

    • Newman 可以从本地文件系统或通过 URL 加载 Postman 集合,并执行其中定义的所有 API 请求。
  2. 环境管理

    • 支持使用环境变量来参数化请求,使得测试可以在不同的环境中灵活运行,比如开发、测试或生产环境。
  3. 数据驱动测试

    • Newman 支持从外部数据源(如 CSV 或 JSON 文件)加载测试数据,从而实现数据驱动的测试,这对于批量测试非常有用。
  4. 报告与输出

    • 提供多种格式的报告,包括 CLI 输出、HTML 报告、JUnit XML 等,方便分析和分享测试结果。
    • 可以将报告导出到指定文件路径。
  5. 集成 CI/CD 工具

    • 由于它是基于命令行的工具,因此非常适合集成到 Jenkins、GitHub Actions、GitLab CI 等 CI/CD 平台中,作为构建过程的一部分自动执行 API 测试。
  6. 自定义报告器和插件

    • Newman 支持第三方报告器和插件,扩展了其功能,例如生成更详细的测试报告或者与其他服务进行交互。
  7. 命令行友好

    • 设计为命令行工具,提供了丰富的命令行选项来配置和控制测试执行。
  8. 跨平台支持

    • 可以在 Windows、macOS 和 Linux 上运行。

使用场景

  • 自动化测试:将 API 测试集成到自动化测试套件中,确保每次代码变更后都能自动验证 API 行为。
  • 回归测试:定期运行完整的 API 测试套件,以确保现有功能不会因为新开发而被破坏。
  • 性能监控:结合其他工具,如 New Relic 或 Datadog,可以用来监控 API 性能指标。
  • 文档生成:虽然这不是 Newman 的主要用途,但它可以作为 API 文档的一部分,展示 API 的实际行为。

安装和使用

安装 Newman 通常需要 Node.js 和 npm。一旦有了这些依赖项,你可以通过 npm 全局安装 Newman:

shell 复制代码
npm install -g newman

然后就可以使用 newman run 命令来运行你的 Postman 集合了。例如:

shell 复制代码
newman run path/to/your/postman_collection.json

要了解更多关于如何使用 Newman 的信息,可以参考 Newman 官方文档,那里有详细的指南和更多高级用法的例子。

导出用例集

如果我们要使用newman,首先我们要导出用例集,点击右上角的符号:


然后,打开这个文件所属的文件夹,打开终端:

newman的命令

简单示例

1. 运行本地 Postman 集合

如果你有一个保存在本地的 Postman 集合文件 my_collection.json,你可以直接运行它:

shell 复制代码
newman run my_collection.json
2. 使用环境变量文件

如果你有一个对应的环境文件 my_environment.json,可以这样指定它:

shell 复制代码
newman run my_collection.json --environment my_environment.json
3. 生成 HTML 报告并导出

如果你想生成一个 HTML 格式的报告,并将其导出到桌面(假设你的桌面路径为 ~/Desktop/):

shell 复制代码
newman run my_collection.json -r html --reporter-html-export ~/Desktop/test_report.html

生出来的报告长这样:

4. 数据驱动测试

如果你有一个 CSV 文件 data.csv 来驱动测试数据,可以这样使用:

shell 复制代码
newman run my_collection.json --iteration-data data.csv
5. 设置迭代次数

如果你想让 Newman 执行集合多次(例如 5 次),可以设置迭代次数:

shell 复制代码
newman run my_collection.json --iteration-count 5
6. 忽略 SSL 证书错误

如果需要忽略 SSL 证书错误(例如测试自签名证书的 API),可以使用 --insecure 选项:

shell 复制代码
newman run my_collection.json --insecure
7. 详细输出模式

如果你想看到每个请求的详细输出信息,可以启用详细模式:

shell 复制代码
newman run my_collection.json --verbose

组合使用多个选项

你也可以组合使用多个选项。例如,运行一个集合,指定环境文件,设置迭代次数,并生成 HTML 报告:

shell 复制代码
newman run my_collection.json \
  --environment my_environment.json \
  --iteration-count 3 \
  -r html \
  --reporter-html-export ~/Desktop/test_report.html

Postman批量执行测试

如果想直接在Postman进行批量测试,看到右下角的Runner:
然后,将我们的集合长按,放到对应区域:

相关推荐
goodesocket5 小时前
手机LPDDR芯片测试座厂商适配性强
测试工具
小小测试开发1 天前
Playwright vs Selenium vs Cypress:从浏览器协议到 API 设计的全面对比与实测
人工智能·selenium·测试工具
我的xiaodoujiao1 天前
快速学习Python基础知识详细图文教程9--函数进阶
开发语言·python·学习·测试工具
川石课堂软件测试1 天前
安全测试|常见SQL注入攻击方式、实例及预防
服务器·数据库·sql·功能测试·测试工具·安全·单元测试
Chloeis Syntax1 天前
JAVAEE初阶 --- 构造HTTP请求
网络·网络协议·http·postman
天才测试猿3 天前
Selenium自动化测试网页加载太慢怎么解决?
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
川石课堂软件测试3 天前
安全测试|服务器安全加固方法
服务器·功能测试·测试工具·jmeter·mysql·web安全·单元测试
Saniffer_SH5 天前
NAND技术(二):从 Channel、Die/LUN、P/E Cycle 到 LDPC,一次讲透 NAND 里那些最容易误解的概念
人工智能·驱动开发·嵌入式硬件·测试工具·fpga开发·计算机外设·压力测试
杭州双色云谱5 天前
2026年蓝光光谱照度计选购与实战指南:双色云谱如何守护光环境安全?
科技·测试工具