docker+playwright+python+Jenkins跑web自动化

# Docker部署Jenkins以及安装Playwright跑Web自动化的那些坑

在使用Docker部署Jenkins以及安装Playwright进行Web自动化测试的过程中,我遇到了不少问题。这里分享一下我的经验和解决方法,希望能帮助到同样在探索这条技术路线的朋友们。

## 一、云主机上部署Docker的坑

### 1.1 默认安装Docker的问题
在云主机上部署Docker时,我发现默认安装的Docker版本可能会带来各种问题。例如,我最初安装的Docker版本较旧,导致后续操作中出现了不少奇怪的错误。(tips:由于我是在云主机上部署了一个docker,在这一步的时候就遇到很多的坑,如下:

云主机版本:)

默认去 install 安装docker,安装的docker版本是:

然后遇到各种奇奇怪怪的问题,这里就不在赘述。安装最新的docker,假如你之前存在一些镜像容器,可以按照图下去备份:

### 1.2 升级Docker的建议
如果之前已经安装了Docker,可以按照以下步骤进行升级:
- **备份现有镜像和容器**:在升级之前,建议备份现有的镜像和容器,以防止数据丢失。
- **升级Docker**:可以直接在现有基础上升级Docker,无需卸载。升级后的Docker版本应为最新稳定版。

### 1.3 推荐的系统和联网环境
根据我的经验,CentOS 7维护的Docker版本较旧,建议在OpenEuler或BCLinux系统上部署Docker。联网环境也很重要,联网可以避免很多麻烦。如果需要最新Docker版本,可以访问以下链接:[Docker Packages for CentOS](https://download.docker.com/linux/centos/7/x86_64/stable/Packages/)

## 二、拉取和使用Playwright镜像

### 2.1 官方文档的坑
根据Playwright官方文档安装的镜像可能存在一些问题。我建议使用以下特定版本的Playwright镜像:mcr.microsoft.com/playwright/python:v1.57.0-noble

目前我是根据官方文档安装的playwright镜像,但这个版本存在一些问题,建议使用如下图圈出来的红色部分的镜像:


### 2.2 创建并启动Playwright容器
以下是创建并启动Playwright容器的命令:
```bash
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"

(这段命令是创建这个容器的时候遇到各种坑,ai问出来的可以执行,如果需要测试你的python脚本,可以将你的代码放到指定目录(可能会遇到权限问题,具体问题具体分析问ai
),会打印如下图片(创建这个容器用途主要是用来测试这个容器是否可用,这个镜像是否存在问题):)

## 三、部署Jenkins

###3.1  拉取Jenkins镜像

第一次拉取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中生成测试报告,具体操作可以根据项目的需要进行配置。

Read more

Python保姆级下载安装教程-->Windows版本

Python保姆级下载安装教程-->Windows版本

Windows版本保姆级下载安装 一、下载Python  1、点击下载官网地址 Python官方网站地址https://www.python.org/downloads/ 2、官网页面如下: 3、点击下载界面: 上面最新的版本是3.14.2版本,一般来说新版较之老版优化了一些内容且版本向下兼容,但是不建议下载最新版本,因为python在很多地方使用时没有更新到最新版本,向下兼容性并不好,但也不要太低版本的,很多不适用。 点击Downloads,选择适合自己电脑系统的版本,我的电脑是Windows系统,就选择了Windows,点击后会跳转到另一个页面 【Stable Releases】:稳定发布版本,是官方完成全面测试、修复已知 Bug 的成熟版本,运行稳定、风险低,无论入门学习还是机器视觉项目开发,都优先选这个版本; 【Pre-releases】:预发布版本,属于测试阶段的 “体验版”,可能包含新功能但存在未修复的 Bug,稳定性差,小白或做实际项目(如机器视觉开发)千万别选,易出现代码报错、

By Ne0inhk
Live2D 虚拟主播软件(开源Python)

Live2D 虚拟主播软件(开源Python)

Live2D 虚拟主播软件(开源Python) Live2D 虚拟主播软件(开源Python) Live2D 虚拟主播软件(开源Python) 「python制作的live2d面部捕捉(二开)」 链接:https://pan.quark.cn/s/246074fa79ed 1 Live2D Virtual Streamer 🎭 一个基于 Python 的 Live2D 虚拟主播应用程序 使用 PySide6 + MediaPipe + Live2D 技术,支持实时面部捕捉的虚拟主播系统 功能特性 • 快速开始 • 安装说明 • 使用指南 • 项目结构 </div>📋 目录项目简介功能特性系统要求快速开始详细安装使用指南配置说明项目结构技术架构常见问题开发路线贡献指南许可证致谢🎯 项目简介 Live2D Virtual Streamer 是一个功能完整的虚拟主播应用程序,通过摄像头实时捕捉用户的面部表情和头部动作,并驱动 Live2D

By Ne0inhk
pyproject.toml 完全指南:Python 项目配置的现代化之路

pyproject.toml 完全指南:Python 项目配置的现代化之路

pyproject.toml 完全指南:Python 项目配置的现代化之路 前言 如果你刚接触 Python 项目开发,可能会发现很多开源项目的根目录下都有一个 pyproject.toml 文件。它是什么?为什么需要它?本文将从零开始,带你全面了解这个 Python 生态中的"配置中枢"。 一、什么是 pyproject.toml? 1.1 定义 pyproject.toml 是 Python 项目的标准化配置文件,采用 TOML (Tom’s Obvious Minimal Language) 格式编写。它在 2016 年通过 PEP 518 被引入 Python 生态。

By Ne0inhk
2026 Python+AI入门|0基础速通,吃透热门轻量化玩法

2026 Python+AI入门|0基础速通,吃透热门轻量化玩法

🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:AI 文章目录: * 一、2026 Python+AI入门,必抓3个热门新趋势 * 二、入门前提:不用啃硬骨头,掌握这2点就够了 * 环境搭建(10分钟搞定,Windows/Mac通用) * 三、3个实战案例 * 案例1:30行代码开发AI文本总结工具(轻量化工具,最易上手) * 案例2:大模型微调入门(Llama 3微调,2026热门) * 案例3:AI自动数据标注(图像标注,企业刚需) * 四、Python+AI入门学习流程图(2026最新,不绕路) * 五、2026新手避坑指南 * 六、总结 【前言】 大家好,我是一名深耕AI入门教学的开发者,

By Ne0inhk