温馨提示×

Ubuntu Postman如何进行持续集成

小樊
44
2025-11-06 12:06:44
栏目: 智能运维

1. 准备工作:安装必要工具 在Ubuntu系统上,首先需要安装Jenkins(持续集成服务器)、Node.js(Newman的运行环境)和Newman(Postman命令行工具)。安装步骤如下:

  • 更新系统软件包:sudo apt update
  • 安装Jenkins:sudo apt install jenkins(安装后启动服务:sudo systemctl start jenkins
  • 安装Node.js和npm:sudo apt install nodejs npm(验证安装:node -vnpm -v
  • 安装Newman:sudo npm install -g newman(验证安装:newman --version)。

2. 创建Postman测试集合 在Postman客户端中完成API测试用例的设计(包括请求方法、参数、断言等),然后将集合导出为JSON文件(如api_collection.json)。导出步骤:选中集合→点击“…”→选择“Export”→保存为JSON格式。此文件将作为CI/CD流程中的测试脚本。

3. 配置Jenkins Pipeline

  • 安装Jenkins插件:登录Jenkins管理界面→“Manage Jenkins”→“Manage Plugins”→安装以下插件:
    • Git Plugin(用于拉取代码仓库中的测试集合);
    • Pipeline Plugin(用于定义自动化流程);
    • HTML Publisher Plugin(用于发布测试报告)。
  • 创建Pipeline任务
    1. 点击“New Item”→输入任务名称(如“Postman-Tests”)→选择“Pipeline”→点击“OK”;
    2. 在“Pipeline”配置页面,选择“Pipeline script from SCM”(从代码仓库获取脚本);
    3. 设置SCM为“Git”,填写仓库URL(如https://github.com/your-username/postman-tests.git)和分支(如main);
    4. 在“Script Path”中指定Pipeline脚本路径(如Jenkinsfile)。

4. 编写Jenkinsfile定义自动化流程 在代码仓库根目录创建Jenkinsfile,内容如下(以GitHub仓库为例):

pipeline {
    agent any
    stages {
        stage('Checkout') {
            steps {
                git branch: 'main', url: 'https://github.com/your-username/postman-tests.git'
            }
        }
        stage('Install Newman') {
            steps {
                sh 'npm install -g newman' // 确保Jenkins服务器安装Newman
            }
        }
        stage('Run Postman Tests') {
            steps {
                sh 'newman run "api_collection.json" --reporters cli,junit --reporter-junit-export "reports/test-results.xml"'
                // 运行测试集合,生成JUnit格式报告(便于Jenkins解析)
            }
        }
        stage('Publish Results') {
            steps {
                junit 'reports/test-results.xml' // 发布测试结果到Jenkins界面
            }
        }
    }
    post {
        always {
            echo 'Postman tests execution completed.'
        }
        success {
            echo 'All tests passed successfully!'
        }
        failure {
            echo 'Some tests failed. Check the reports for details.'
        }
    }
}

此脚本实现了“拉取代码→安装Newman→运行测试→发布结果”的完整流程。

5. 触发CI/CD流程

  • 自动触发:配置GitHub Webhook,使得代码推送(push)或拉取请求(pull request)时自动触发Jenkins任务。步骤:
    1. 在GitHub仓库“Settings”→“Webhooks”→“Add webhook”;
    2. 填写Payload URL(如http://your-jenkins-server/github-webhook/)、Content type(application/json)、触发事件(“Just the push event”);
    3. 点击“Add webhook”。
  • 手动触发:在Jenkins任务页面点击“Build Now”即可手动启动流程。

6. 查看与分析测试结果 Jenkins任务运行完成后,可在“Build History”中查看每次构建的结果。点击“Console Output”可查看详细日志,点击“Test Result”可查看JUnit格式的测试报告(包括通过/失败的用例数、失败原因等)。

注意事项

  • 确保Jenkins服务器能访问互联网(用于拉取代码和Newman依赖);
  • 若测试集合依赖环境变量(如API密钥),可将环境变量配置在Jenkins的“Manage Jenkins”→“Configure System”→“Global properties”中,或在Pipeline脚本中通过environment块定义;
  • 可扩展报告类型(如使用--reporters html生成HTML报告),提升结果可读性。

0