Jenkins在Ubuntu上如何集成测试工具
导读:在 Ubuntu 上集成 Jenkins 与测试工具 一 环境准备与 Jenkins 安装 安装 Java 11(Jenkins 运行依赖): 命令:sudo apt update && sudo apt install...
在 Ubuntu 上集成 Jenkins 与测试工具
一 环境准备与 Jenkins 安装
- 安装 Java 11(Jenkins 运行依赖):
- 命令:
sudo apt update & & sudo apt install openjdk-11-jdk -y & & java -version
- 命令:
- 安装 Jenkins(Ubuntu 20.04/22.04 推荐方式):
- 导入密钥与源(新版建议使用签名方式):
curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/nullecho deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
- 安装与启动:
sudo apt update & & sudo apt install jenkins -ysudo systemctl start jenkins & & sudo systemctl enable jenkins
- 导入密钥与源(新版建议使用签名方式):
- 访问控制台:打开浏览器进入 http://< 服务器IP> :8080,完成解锁与初始插件安装。
二 插件与全局工具配置
- 常用插件(Manage Jenkins → Manage Plugins → 可选插件):
- Git Plugin、Pipeline、JUnit Plugin、HTML Publisher Plugin、Allure Plugin(按需安装)。
- 全局工具(Manage Jenkins → Global Tool Configuration):
- 配置 JDK 路径(如 OpenJDK 11)、Git、Maven/Gradle(按项目需要)。
三 典型测试工具集成示例
- Python + pytest(生成 JUnit XML,便于报表聚合)
- 安装依赖:
pip install pytest - 执行测试:
pytest --junit-xml=test-results.xml - Jenkins 构建后操作:添加 Publish JUnit test result report,设置 Test report XMLs 为
test-results.xml。
- 安装依赖:
- Java + Maven + TestNG(结合 Allure 生成美观报告)
- 依赖示例(Maven):
testng、allure-testng、以及maven-surefire-plugin(配置argLine引入aspectjweaver)。
- 执行测试:
mvn clean test - Jenkins 构建后操作:添加 Allure Report 步骤发布测试结果。
- 依赖示例(Maven):
- Selenium UI 自动化(无头 Chrome/Firefox,建议容器化)
- 方式 A(本机安装浏览器与驱动,便于入门):
- 安装:
sudo apt install -y chromium-browser chromium-chromedriver - 运行:
python3 test_selenium.py(脚本内使用webdriver.Chrome()或ChromeOptions启用无头模式)。
- 安装:
- 方式 B(Docker + Selenium Grid,环境隔离、便于并行与 CI):
- 启动 Selenium Grid(示例):
docker run --rm -d -p 4444:24444 -p 5900:25900 --name selenium-hub elgalu/selenium
- 测试代码连接 Grid:
webdriver.Remote(command_executor='http://localhost:4444/wd/hub', desired_capabilities=DesiredCapabilities.CHROME) - 如需查看执行画面,可用 VNC 连接容器端口 5900。
- 启动 Selenium Grid(示例):
- 方式 A(本机安装浏览器与驱动,便于入门):
四 创建任务与流水线示例
- Freestyle 项目(适合快速接入)
- 源码管理:选择 Git,填写仓库 URL 与分支。
- 构建步骤:添加 Execute shell,填入对应测试命令(如
pytest ...或mvn test)。 - 构建后操作:添加 Publish JUnit test result report(JUnit XML 路径),如需可视化报告再添加 HTML Publisher Plugin。
- Pipeline 项目(推荐,可版本化管理流程)
- 在项目中放置 Jenkinsfile,示例:
- pipeline { agent any stages { stage(‘Checkout’) { steps { git url: ‘https://github.com/your/repo.git’, branch: ‘main’ } } stage(‘Build’) { steps { sh ‘mvn -B -DskipTests clean package’ } } stage(‘Test’) { steps { sh ‘pytest --junit-xml=target/report.xml’ } post { always { junit ‘target/report.xml’ } } } stage(‘Report’) { steps { publishHTML(target: [reportDir: ‘target/report’, reportFiles: ‘index.html’, reportName: ‘HTML Report’]) } } } }
- 在 Jenkins 任务中选择 Pipeline script from SCM,指定仓库与
Jenkinsfile路径。
- 在项目中放置 Jenkinsfile,示例:
五 常见问题与优化建议
- HTML 报告样式被拦截(Content Security Policy)
- 现象:报告页面样式丢失或空白。
- 处理:在 Manage Jenkins → Script Console 临时放宽策略(仅测试环境),例如:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
- 更优方案:使用 Allure Report 或将报告托管到外部静态站点。
- Selenium 无头与驱动匹配
- 在无头环境(如 CI)务必使用 无头模式 并确保 Chrome/Chromedriver 版本匹配;UI 测试优先采用 Selenium Grid + Docker 提升稳定性与可维护性。
- 报表路径与归档
- 确保测试框架输出到固定目录(如
target/或reports/),并在 Jenkins 的 JUnit/HTML Publisher 中正确填写通配路径(如**/test-reports/*.xml、target/report/index.html)。
- 确保测试框架输出到固定目录(如
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Jenkins在Ubuntu上如何集成测试工具
本文地址: https://pptw.com/jishu/753530.html
