You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Jenkins Pipeline脚本运行Selenium回归测试套件

Jenkins Pipeline 搭建指南:拉取项目并执行Selenium+TestNG回归测试

前置准备

确保Jenkins环境满足以下要求:

  • 已安装必备插件:Git、Maven Integration、Pipeline、TestNG Results Plugin
  • Jenkins节点(或代理)已配置:
    • JDK 8+(匹配项目编译版本)
    • Maven 3.x
    • 对应浏览器的驱动(如ChromeDriver,需与浏览器版本兼容,且配置到系统PATH)

Pipeline 核心阶段与编写方法

完整的Pipeline包含代码拉取、项目构建、测试执行、报告归档四个核心阶段,以下是各阶段的实现逻辑:

1. 拉取代码

从Git仓库拉取最新测试代码,保证每次运行基于最新版本:

stage('拉取代码') {
    steps {
        git url: '你的Git仓库地址', branch: 'main' // 替换为实际仓库地址和分支
    }
}

2. 构建项目

用Maven编译项目、解决依赖,生成可执行测试类(跳过测试仅编译):

stage('构建项目') {
    steps {
        sh 'mvn clean compile -DskipTests'
    }
}

3. 执行回归测试

通过Maven调用TestNG,执行regression-test.xml定义的完整回归套件,测试代码会自动读取application.properties中的app_url配置:

stage('执行回归测试') {
    steps {
        sh 'mvn test -DsuiteXmlFile=regression-test.xml'
    }
    post {
        always {
            // 在Jenkins界面展示TestNG测试结果
            testNG testResultsPattern: '**/test-output/testng-results.xml'
        }
    }
}

4. 归档测试报告

将TestNG原生报告和自定义报告归档,方便后续追溯:

stage('归档测试报告') {
    steps {
        archiveArtifacts artifacts: '**/test-output/**', fingerprint: true
    }
}

完整Pipeline脚本示例

整合所有阶段,加上环境配置:

pipeline {
    agent any // 可指定特定代理,如agent { label 'selenium-node' }
    tools {
        maven 'Maven-3.8.6' // 替换为Jenkins中配置的Maven名称
        jdk 'JDK-11' // 替换为Jenkins中配置的JDK名称
    }
    stages {
        stage('拉取代码') {
            steps {
                git url: 'https://your-git-repo-url.git', branch: 'main'
            }
        }
        stage('构建项目') {
            steps {
                sh 'mvn clean compile -DskipTests'
            }
        }
        stage('执行回归测试') {
            steps {
                sh 'mvn test -DsuiteXmlFile=regression-test.xml'
            }
            post {
                always {
                    testNG testResultsPattern: '**/test-output/testng-results.xml'
                }
            }
        }
        stage('归档测试报告') {
            steps {
                archiveArtifacts artifacts: '**/test-output/**', fingerprint: true
            }
        }
    }
    post {
        success {
            echo '回归测试执行成功!'
        }
        failure {
            echo '回归测试执行失败,请查看报告排查问题!'
        }
    }
}

关键配置说明

  1. application.properties 加载:确保测试代码通过@PropertySource(Spring)或原生Java Properties类正确读取该文件,保证测试用例能获取app_url配置。
  2. TestNG套件执行:regression-test.xml已整合所有子测试套件,Maven命令-DsuiteXmlFile=regression-test.xml会直接触发全量回归测试。
  3. 并行测试配置:你的regression-test.xml中设置了parallel="tests"和thread-count="5",Jenkins会按配置并行执行测试,提升运行效率。

常见问题排查

  • 浏览器驱动找不到:检查Jenkins节点上的驱动是否配置到PATH,或在Maven命令中指定路径,如-Dwebdriver.chrome.driver=/path/to/chromedriver。
  • 无法读取app_url:确认配置文件路径正确,且Maven编译时已将其打包到classpath。
  • 报告无法归档:检查archiveArtifacts路径是否匹配实际报告生成位置(默认TestNG报告在test-output目录)。

内容的提问来源于stack exchange,提问作者user1015388

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 20:24:50