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

相关推荐
network_tester5 小时前
手机网络性能测试仪器介绍
网络·网络协议·tcp/ip·测试工具·信息与通信·信号处理·tcpdump
天堂的恶魔9461 天前
软件测试 —— Postman(全局变量和环境变量,请求前置脚本,关联)
测试工具·lua·postman
lichong9511 天前
【Flutter&Dart】MVVM(Model-View-ViewModel)架构模式例子-http版本(30 /100)
android·flutter·http·架构·postman·win·smartapi
moton20172 天前
5步打造完善的物联网IoT测试体系
物联网·测试工具·可用性测试·iot·物联网测试·测试体系
m0_748248772 天前
小白爬虫——selenium入门超详细教程
爬虫·selenium·测试工具
lichong9512 天前
【React】win系统环境搭建
前端·react.js·前端框架·api·postman·win·smartapi
清风细雨_林木木2 天前
Postman的使用
测试工具·postman
小菜日记^_^2 天前
苍穹外卖项目总结(二)
java·spring boot·spring·tomcat·maven·mybatis·postman
北京-宏哥2 天前
PC端自动化测试实战教程-1-pywinauto 环境搭建(详细教程)
windows·python·测试工具·pycharm·自动化