安装自动化测试工具 Playwright

2025-07-08#Playwright#字体

Playwright 是一款自动化测试工具,可操作 Chromium、Firefox 等浏览器完成自动化任务。其官方提供了 Docker 镜像用于在容器中运行 Playwright。但是在某些情况下不可使用官方镜像,而是使用自定义的镜像运行 Playwright,那么如何安装它呢,又需要哪些系统级依赖项呢?

Playwright 的依赖项目 🔗

Playwright 的源码中,已经包含了系统级依赖的清单。见文件 packages/playwright-core/src/server/registry/nativeDeps.ts。对于给定的系统,通常需要安装两类依赖:工具(tool)和浏览器依赖。每个系统所需的依赖项是不同的,目前 Playwright 提供了其在 ubuntu20.04-x64ubuntu22.04-x64ubuntu24.04-x64ubuntu20.04-arm64ubuntu22.04-arm64ubuntu24.04-arm64debian11-arm64debian12-arm64 等系统的依赖项清单。

需要注意的是,这些系统级依赖需要使用 root 用户进行安装。通常在构建镜像时安装。

工具依赖 🔗

比如,对于 ubuntu22.04-x64,工具依赖包括:

xvfb
fonts-noto-color-emoji
fonts-unifont
libfontconfig1
libfreetype6
xfonts-cyrillic
xfonts-scalable
fonts-liberation
fonts-ipafont-gothic
fonts-wqy-zenhei
fonts-tlwg-loma-otf
fonts-freefont-ttf    

注意这里的大部分依赖项其实是字体。如果运行环境中缺少字体,那么浏览器里就无法显示文字,进而导致测试失败。

浏览器依赖 🔗

比如,在 ubuntu22.04-x64 系统下,Chromium 所需的依赖如下:

libasound2
libatk-bridge2.0-0
libatk1.0-0
libatspi2.0-0
libcairo2
libcups2
libdbus-1-3
libdrm2
libgbm1
libglib2.0-0
libnspr4
libnss3
libpango-1.0-0
libwayland-client0
libx11-6
libxcb1
libxcomposite1
libxdamage1
libxext6
libxfixes3
libxkbcommon0
libxrandr2'

安装浏览器 🔗

在 Playwright 项目中,通常先安装项目依赖,再安装浏览器。此时,并不需要 root 的权限。

比如使用如下命令安装 Chromium:

npm install # 或者 npm ci
npx playwright install chromium

然后就可以运行自动化任务了。