软件测试 ——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:
然后,将我们的集合长按,放到对应区域:

相关推荐
Smoothcloud润云9 小时前
从“预测下一个词”到“预测下一个世界状态”:世界模型作为AGI新范式的深度分析报告
人工智能·测试工具·微服务·容器·github·状态模式·agi
测试199812 小时前
postman接口测试详解
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
测试秃头怪17 小时前
python&selenium自动化测试实战项目详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
简单点了18 小时前
mac安装wireshark
测试工具·macos·wireshark
西瓜程序猿2 天前
使用手机如何将纸质礼薄转换为电子礼薄?
测试工具·智能手机·创业创新·记了么·电子礼薄·份子钱
半个俗人2 天前
fiddler的基础使用
前端·测试工具·fiddler
站长工具箱2 天前
基于浏览器的键盘按键测试工具功能解析
测试工具·计算机外设
小陈的进阶之路2 天前
Selenium 滑动 vs Appium 滑动
python·selenium·测试工具·appium
程序员小远3 天前
软件测试用例总结
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
爱丽_3 天前
软件测试基础分类与核心概念整理
功能测试·测试工具·测试用例