首页 区块链

Postman 高级进阶:CLI 自动化测试与 Jenkins 集成实战

分类:区块链
字数: (1172)
阅读: (0339)
内容摘要:Postman 高级进阶:CLI 自动化测试与 Jenkins 集成实战,

在现代软件开发流程中,自动化测试至关重要。本文将深入探讨如何利用 Postman 的 CLI 工具(Newman)进行自动化测试,并将其无缝集成到 Jenkins CI/CD 流程中,以实现持续集成和交付。通过这种方式,我们可以尽早发现和修复问题,提高软件质量,并加速发布周期。本文以实际项目经验出发,分析问题,提供解决方案,并总结避坑经验。

Newman:Postman 的命令行利器

Newman 是 Postman 的命令行伴侣,它允许我们直接从命令行或通过脚本运行 Postman 集合(Collection)。这为自动化测试提供了极大的便利。假设我们有一个名为 example.postman_collection.json 的 Postman 集合文件,我们可以使用 Newman 轻松运行它:

newman run example.postman_collection.json

除了基本的集合运行,Newman 还支持各种选项,例如指定环境变量、全局变量、数据文件等。例如,我们可以使用 -e 选项指定环境变量文件:

Postman 高级进阶:CLI 自动化测试与 Jenkins 集成实战
newman run example.postman_collection.json -e env.json

env.json 文件可能包含如下内容:

{
  "values": [
    {
      "key": "baseUrl",
      "value": "https://api.example.com",
      "enabled": true
    },
    {
      "key": "apiKey",
      "value": "YOUR_API_KEY",
      "enabled": true
    }
  ]
}

Jenkins 集成:构建自动化测试流水线

Jenkins 是一个流行的开源 CI/CD 工具,它可以帮助我们自动化构建、测试和部署软件。要将 Postman 自动化测试集成到 Jenkins 中,我们需要以下步骤:

Postman 高级进阶:CLI 自动化测试与 Jenkins 集成实战
  1. 安装 Newman: 在 Jenkins 构建节点上安装 Node.js 和 npm,然后使用 npm 安装 Newman:

    npm install -g newman
    
  2. 创建 Jenkins Pipeline: 在 Jenkins 中创建一个新的 Pipeline 项目,并配置构建脚本。以下是一个简单的 Jenkinsfile 示例:

    Postman 高级进阶:CLI 自动化测试与 Jenkins 集成实战
    pipeline {
        agent any
        stages {
            stage('Checkout') {
                steps {
                    git 'https://github.com/your-repo.git'
                }
            }
            stage('Run Postman Tests') {
                steps {
                    sh 'newman run example.postman_collection.json -e env.json --reporters cli,html --reporter-html-export report.html'
                }
            }
            stage('Publish HTML Report') {
                steps {
                    publishHTML([allowMissing: false, alwaysLinkToLastBuild: false, keepAll: true, reportDir: '.', reportFiles: 'report.html', reportName: 'Postman Test Report'])
                }
            }
        }
    }
    

    这个 Pipeline 包含三个阶段:

    • Checkout: 从 Git 仓库检出代码。
    • Run Postman Tests: 运行 Postman 测试,并生成 HTML 报告。这里使用 --reporters cli,html 参数指定使用 CLI 和 HTML 报告器,--reporter-html-export report.html 参数指定 HTML 报告的输出文件。
    • Publish HTML Report: 发布 HTML 报告,以便在 Jenkins 中查看测试结果。
  3. 安装 HTML Publisher Plugin: 为了在 Jenkins 中显示 HTML 报告,我们需要安装 HTML Publisher Plugin。在 Jenkins 的插件管理页面搜索并安装该插件。

    Postman 高级进阶:CLI 自动化测试与 Jenkins 集成实战

实战避坑经验总结

  • 环境变量管理: 避免在 Postman 集合中硬编码敏感信息,例如 API 密钥。使用环境变量来管理这些信息,并在 Jenkins 中配置这些环境变量。
  • 数据驱动测试: 对于需要测试大量数据的 API,可以使用数据驱动测试。将测试数据存储在 CSV 或 JSON 文件中,并在 Postman 集合中使用这些数据。
  • 错误处理: 在 Postman 测试中添加适当的错误处理逻辑,例如检查 HTTP 状态码、验证响应内容等。这可以帮助我们更快地发现和修复问题。
  • 测试环境隔离: 确保测试环境与生产环境隔离,避免对生产环境造成影响。可以使用 Docker 容器来创建独立的测试环境,同时注意Nginx配置的反向代理以及负载均衡设置,避免测试请求影响生产环境的并发连接数。
  • 报告的分析: Jenkins 集成后,仔细分析Newman的测试报告,特别是失败的用例,有助于快速定位问题。 此外,可以利用宝塔面板等工具来监控服务器资源占用情况,确保自动化测试不会过度消耗服务器资源。

总结

通过将 Postman CLI 自动化测试集成到 Jenkins CI/CD 流程中,我们可以实现持续集成和交付,提高软件质量,并加速发布周期。希望本文能够帮助读者快速上手,并在实践中不断探索和优化。

Postman 高级进阶:CLI 自动化测试与 Jenkins 集成实战

转载请注明出处: 程序员DD

本文的链接地址: http://m.acea2.store/blog/274149.SHTML

本文最后 发布于2026-04-22 20:29:11,已经过了5天没有更新,若内容或图片 失效,请留言反馈

()
您可能对以下文章感兴趣
评论
  • 沙县小吃 1 天前
    这个 HTML Publisher Plugin 之前没用过,解决了 Jenkins 上看测试报告的问题,赞!
  • 扬州炒饭 3 天前
    环境变量管理那块很实用,之前一直硬编码 API Key,感觉很不安全,学到了!
  • 铲屎官 3 天前
    请问一下,如果测试环境需要多个服务依赖,用 Docker Compose 怎么集成到 Jenkins Pipeline 里呢?
  • e人代表 1 天前
    写得真不错,把 Postman 自动化测试和 Jenkins 集成讲得很清楚,感谢分享!