跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python大前端

基于 Docker、Playwright 与 Jenkins 的 Web 自动化测试实践

综述由AI生成总结了在云主机环境下使用 Docker 部署 Jenkins 并结合 Playwright 进行 Web 自动化测试的完整流程。内容涵盖 Docker 版本升级与备份、Playwright 镜像选择、Jenkins 容器权限配置、Groovy 流水线脚本编写以及测试报告生成的关键注意事项。

MongoKing发布于 2026/3/24更新于 2026/5/2220K 浏览

Docker 部署 Jenkins 以及安装 Playwright 跑 Web 自动化的常见问题

一、云主机上部署 Docker 的注意事项

1.1 Docker 版本选择

在云主机上部署 Docker 时,默认安装的版本可能较旧,导致后续操作出现错误。建议安装最新稳定版。若之前已安装旧版本,需先备份现有镜像和容器,再进行升级。

文章配图

默认安装可能得到的版本示例:

文章配图

如需升级,可参考以下步骤备份:

文章配图

1.2 推荐系统与网络

CentOS 7 维护的 Docker 版本较旧,建议在 OpenEuler 或 BCLinux 系统上部署。确保联网环境以获取最新包。 Docker Packages for CentOS

二、拉取和使用 Playwright 镜像

2.1 镜像版本选择

根据 Playwright 官方文档安装的镜像可能存在兼容性问题。建议使用特定版本镜像:mcr.microsoft.com/playwright/python:v1.57.0-noble。

文章配图

文章配图

文章配图

2.2 创建并启动 Playwright 容器

docker run -it --rm \ --pids-limit=-1 \ --cpus=4 \ --memory=4g \ --env PIP_NO_CACHE_DIR=1 \ --env PIP_DEFAULT_TIMEOUT=120 \ -v /root/code:/root \ mcr.microsoft.com/playwright/python:v1.57.0-noble \ sh -c "pip install --no-cache-dir --progress-bar off --retries 5 --timeout 120 playwright==1.57.0 ddddocr loguru -i https://mirrors.aliyun.com/pypi/simple/&&/bin/bash"

三、部署 Jenkins

3.1 拉取 Jenkins 镜像

建议拉取长期支持版本:

docker pull jenkins:lts

3.2 创建并启动 Jenkins 容器

docker run -d \
  --name zjjenkins \
  -p 8001:8080 \
  -p 50001:50000 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /usr/bin/docker:/usr/bin/docker \
  -v /home/jenkins:/var/jenkins_home \
  -v /etc/localtime:/etc/localtime:ro \
  jenkins/jenkins:lts

3.3 权限问题的解决

以 root 用户进入容器并修改权限:

docker exec -u root -it zjjenkins bash
chmod 755 /usr/bin/docker
exit

四、Jenkins 流水线配置

4.1 创建流水线任务

在 Jenkins 中创建流水线任务,命名为 test。

4.2 配置流水线脚本

pipeline {
   agent { 
      docker { 
         image 'mcr.microsoft.com/playwright/python:v1.57.0-noble'
         args '-v ${WORKSPACE}:/workspace -w /workspace --user root'
      } 
   }

   stages {  
      stage('e2e-tests') {  
         steps {  
            sh '''  
               # 安装依赖  
               pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

               # 修正包名  
               pip uninstall -y pytest-playwright || true

               # 安装 allure-pytest  
               pip install allure-pytest -i https://pypi.tuna.tsinghua.edu.cn/simple/

               # 关键修改:使用 python -m pytest 而不是 pytest  
               python -m pytest testcases/ -v -s  
            '''  
         }  
      }  
   }  
}

4.3 测试失败的处理

如果测试用例中有断言失败的情况,Pipeline 任务会失败。如果希望测试失败时 Pipeline 不失败,可以使用 pytest 的 --tb=no 和 -x 选项。

五、生成测试报告

最后一步是在 Jenkins 中生成测试报告,具体操作可以根据项目的需要进行配置。

目录

  1. Docker 部署 Jenkins 以及安装 Playwright 跑 Web 自动化的常见问题
  2. 一、云主机上部署 Docker 的注意事项
  3. 1.1 Docker 版本选择
  4. 1.2 推荐系统与网络
  5. 二、拉取和使用 Playwright 镜像
  6. 2.1 镜像版本选择
  7. 2.2 创建并启动 Playwright 容器
  8. 三、部署 Jenkins
  9. 3.1 拉取 Jenkins 镜像
  10. 3.2 创建并启动 Jenkins 容器
  11. 3.3 权限问题的解决
  12. 四、Jenkins 流水线配置
  13. 4.1 创建流水线任务
  14. 4.2 配置流水线脚本
  15. 4.3 测试失败的处理
  16. 五、生成测试报告
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Git 入门指南:高效管理代码库
  • ECMAScript 核心语法基础
  • RK3588 国产化系统应用与开源鸿蒙 OpenHarmony 兼容性测试
  • Stable Diffusion 底模 VAE 推荐与配置指南
  • AI 辅助 Java 零基础入门与核心实战教程
  • Ollama v0.16.2 发布:新增云模型控制、Web 搜索与安全性强化
  • 2026 年 2 月 AIGC 行业模型发布及前沿资讯
  • GitHub Copilot 学生认证申请指南与注意事项
  • 决策树与随机森林:从原理到可解释性实战
  • DeepSeek 中冷启动数据与多阶段训练的作用
  • Python 快速参考手册
  • Python3.8 环境下 Stable Diffusion 轻量化部署
  • Stratix 10 SOC U-Boot 与 ATF 编译构建教程
  • AnimeGANv2 WebUI 集成 OAuth 登录与权限控制方案
  • C++ 开发工具 vcpkg 安装使用与避坑指南
  • Vue2 纯前端对接海康威视摄像头实时预览方案
  • OpenClaw Gateway 命令与交互指南
  • GitHub Copilot Agent 模式实战经验与配置建议
  • C++ 入门:命名空间与输入输出基础
  • Spring Boot 安全认证与授权

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online