首页主机资讯Jenkins在Ubuntu上如何集成测试工具

Jenkins在Ubuntu上如何集成测试工具

时间2025-11-21 18:20:03发布访客分类主机资讯浏览1236
导读:在 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/null
      • echo 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 -y
      • sudo systemctl start jenkins & & sudo systemctl enable jenkins
  • 访问控制台:打开浏览器进入 http://< 服务器IP> :8080,完成解锁与初始插件安装。

二 插件与全局工具配置

  • 常用插件(Manage Jenkins → Manage Plugins → 可选插件):
    • Git PluginPipelineJUnit PluginHTML Publisher PluginAllure Plugin(按需安装)。
  • 全局工具(Manage Jenkins → Global Tool Configuration):
    • 配置 JDK 路径(如 OpenJDK 11)、GitMaven/Gradle(按项目需要)。

三 典型测试工具集成示例

  • Python + pytest(生成 JUnit XML,便于报表聚合)
    • 安装依赖:pip install pytest
    • 执行测试:pytest --junit-xml=test-results.xml
    • Jenkins 构建后操作:添加 Publish JUnit test result report,设置 Test report XMLstest-results.xml
  • Java + Maven + TestNG(结合 Allure 生成美观报告)
    • 依赖示例(Maven):
      • testngallure-testng、以及 maven-surefire-plugin(配置 argLine 引入 aspectjweaver)。
    • 执行测试:mvn clean test
    • Jenkins 构建后操作:添加 Allure Report 步骤发布测试结果。
  • 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

四 创建任务与流水线示例

  • 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 路径。

五 常见问题与优化建议

  • 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/*.xmltarget/report/index.html)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Jenkins在Ubuntu上如何集成测试工具
本文地址: https://pptw.com/jishu/753530.html
dhclient在Linux网络配置中的作用是什么 如何使用dhclient更新DHCP租约

游客 回复需填写必要信息