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

相关推荐
互联网杂货铺1 小时前
黑盒测试、白盒测试、集成测试和系统测试的区别与联系
自动化测试·软件测试·python·功能测试·测试工具·单元测试·集成测试
Feng.Lee12 小时前
聊一聊缓存如何进行测试
功能测试·测试工具·缓存
爱学测试的雨果15 小时前
Postman —— postman实现参数化
软件测试·功能测试·测试工具·lua·postman
互联网杂货铺16 小时前
如何用Postman实现自动化测试?
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
niuniu_66619 小时前
安全性测试(Security Testing)
测试工具·单元测试·appium·测试·安全性测试
薄荷你玩_1 天前
简单粗暴,用浏览器调试端口绕过Selenium/Playwright/Puppeteer检测
selenium·测试工具
程序员三藏1 天前
Python+Jenkins+Allure Report接口自动化测试持续集成
自动化测试·软件测试·python·测试工具·ci/cd·jenkins·测试用例
星星点灯5081 天前
盛铂科技FlexDDS-NG:12通道相位连续DDS信号发生器,400MHz高频输出赋能量子光学与超冷原子研究
驱动开发·科技·测试工具·量子计算·模块测试·射频工程
niuniu_6661 天前
selenium应用测试场景
python·selenium·测试工具·单元测试·测试
天才测试猿2 天前
Selenium常用函数总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例