首页 区块链

Postman CLI 自动化测试深度实践与 Jenkins CI/CD 集成指南

分类:区块链
字数: (5755)
阅读: (3788)
内容摘要:Postman CLI 自动化测试深度实践与 Jenkins CI/CD 集成指南,

在使用 Postman 进行接口测试的过程中,如果仅仅依赖 GUI 手动执行测试,效率会非常低下,尤其是在需要频繁回归测试的场景下。手动测试不仅耗时,而且容易出错。为了解决这个问题,我们需要将 Postman 的测试用例集成到自动化测试流程中,并通过 Jenkins 实现持续集成和持续部署(CI/CD)。本文将深入探讨如何利用 Postman CLI(Newman)进行自动化测试,并将其与 Jenkins 进行集成,实现高效的 CI/CD 流程。

Newman:Postman 测试的命令行利器

Newman 是 Postman 官方提供的 CLI 工具,它可以让我们在命令行中运行 Postman Collection 和 Environment,从而实现自动化测试。Newman 的安装非常简单,只需要 Node.js 和 npm 环境即可。

安装 Newman

 npm install -g newman

安装完成后,可以通过 newman -v 命令验证是否安装成功。

Postman CLI 自动化测试深度实践与 Jenkins CI/CD 集成指南

运行 Postman Collection

要运行 Postman Collection,需要先将 Collection 和 Environment 导出为 JSON 文件。然后在命令行中使用 Newman 运行。

 newman run my_collection.json -e my_environment.json

Newman 会按照 Collection 中定义的顺序执行所有的测试用例,并在命令行中输出测试结果。

Postman CLI 自动化测试深度实践与 Jenkins CI/CD 集成指南

生成 HTML 报告

为了更方便地查看测试结果,我们可以使用 newman-reporter-html 插件生成 HTML 报告。

 npm install -g newman-reporter-html

然后在运行 Newman 时指定 reporter 为 html。

Postman CLI 自动化测试深度实践与 Jenkins CI/CD 集成指南
 newman run my_collection.json -e my_environment.json -r html

Newman 会在当前目录下生成一个 newman-report.html 文件,我们可以通过浏览器打开该文件查看测试结果。

Jenkins CI/CD 集成:打造自动化测试流水线

有了 Newman,我们就可以将 Postman 测试集成到 Jenkins CI/CD 流程中,实现自动化测试。以下是一个简单的 Jenkins Pipeline 配置示例:

Postman CLI 自动化测试深度实践与 Jenkins CI/CD 集成指南

创建 Jenkins Pipeline

首先,在 Jenkins 中创建一个新的 Pipeline 项目。选择 Pipeline script from SCM,并配置代码仓库地址和凭据。

编写 Jenkinsfile

在代码仓库中创建一个 Jenkinsfile,定义 Pipeline 的各个阶段。

 pipeline {
 agent any
 stages {
 stage('Checkout') {
 steps {
 git 'https://github.com/your/repo.git'
 }
 }
 stage('Install Dependencies') {
 steps {
 sh 'npm install -g newman newman-reporter-html'
 }
 }
 stage('Run Postman Tests') {
 steps {
 sh 'newman run my_collection.json -e my_environment.json -r html'
 }
 }
 stage('Publish HTML Report') {
 steps {
 publishHTML([allowMissing: false, alwaysLinkToLastBuild: false, keepAll: false, reportDir: '.', reportFiles: 'newman-report.html', reportName: 'Postman Test Report'])
 }
 }
 }
}

这个 Jenkinsfile 定义了四个阶段:

  • Checkout:从代码仓库拉取代码。
  • Install Dependencies:安装 Newman 和 newman-reporter-html。
  • Run Postman Tests:运行 Postman 测试,并生成 HTML 报告。
  • Publish HTML Report:发布 HTML 报告。

配置 Jenkins

配置 Jenkins 项目,指定 Jenkinsfile 的路径。保存配置后,就可以手动或通过触发器触发 Jenkins Pipeline。

实战避坑经验

  • 环境变量管理: 建议使用 Jenkins 的 Credentials Plugin 管理环境变量,避免在代码中硬编码敏感信息。
  • 测试数据准备: 确保测试数据是最新的,可以使用 Jenkins 插件在测试前自动更新测试数据。
  • 错误处理: 在 Jenkinsfile 中添加错误处理逻辑,例如使用 try-catch 语句捕获异常,并发送通知。
  • 报告归档: 配置 Jenkins 自动归档测试报告,方便后续分析和排查问题。
  • **并发测试:**如果接口支持,可以考虑使用并发执行 Newman 命令(如使用 GNU Parallel),以提升测试效率。注意需要仔细设计测试用例,避免并发冲突。
  • Nginx 代理问题: 在某些复杂的网络环境下,Newman 可能需要通过 Nginx 反向代理才能正常访问被测服务。 此时需要检查 Nginx 的配置,确保正确转发请求,并配置合适的 upstream 负载均衡策略。 同时,需要注意 Nginx 的并发连接数限制,防止在高并发测试场景下出现问题。

总结

通过 Postman CLI 自动化测试与 Jenkins CI/CD 集成,可以大大提高接口测试的效率和质量。希望本文能帮助你更好地应用这些技术,打造高效的 CI/CD 流程。

Postman CLI 自动化测试深度实践与 Jenkins CI/CD 集成指南

转载请注明出处: Coding老猫

本文的链接地址: http://m.acea4.store/blog/695159.SHTML

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

()
您可能对以下文章感兴趣
评论
  • 风一样的男子 5 天前
    Jenkinsfile 这部分写的很清晰,直接 copy 过去就能用,感谢大佬!
  • 芒果布丁 3 天前
    请问下作者,环境变量管理这块有什么推荐的实践吗?Credentials Plugin 感觉有点复杂。
  • 格子衫青年 2 天前
    感谢分享,jenkinsfile的checkout stage 建议添加分支参数,不然每次都checkout master分支,不方便feature branch的测试