安装自动化测试工具 Playwright
· 约 1 分钟阅读
Playwright 是一款自动化测试工具,可操作 Chromium、Firefox 等浏览器完成自动化任务。其官方提供了 Docker 镜像用于在容器中运行 Playwright。但是在某些情况下不可使用官方镜像,而是使用自定义的镜像运行 Playwright,那么如何安装它呢,又需要哪些系统级依赖项呢?
Playwright 的依赖项目
Playwright 的源码中,已经包含了系统级依赖的清单。见文件 packages/playwright-core/src/server/registry/nativeDeps.ts。对于给定的系统,通常需要安装两类依赖:工具(tool)和浏览器依赖。每个系统所需的依赖项是不同的,目前 Playwright 提供了其在 ubuntu20.04-x64、ubuntu22.04-x64、ubuntu24.04-x64、ubuntu20.04-arm64、ubuntu22.04-arm64、ubuntu24.04-arm64、debian11-arm64、debian12-arm64 等系统的依赖项清单。
需要注意的是,这些系统级依赖需要使用 root 用户进行安装。通常在构建镜像时安装。
工具依赖
比如,对于 ubuntu22.04-x64,工具依赖包括:
xvfbfonts-noto-color-emojifonts-unifontlibfontconfig1libfreetype6xfonts-cyrillicxfonts-scalablefonts-liberationfonts-ipafont-gothicfonts-wqy-zenheifonts-tlwg-loma-otffonts-freefont-ttf注意这里的大部分依赖项其实是字体。如果运行环境中缺少字体,那么浏览器里就无法显示文字,进而导致测试失败。
浏览器依赖
比如,在 ubuntu22.04-x64 系统下,Chromium 所需的依赖如下:
libasound2libatk-bridge2.0-0libatk1.0-0libatspi2.0-0libcairo2libcups2libdbus-1-3libdrm2libgbm1libglib2.0-0libnspr4libnss3libpango-1.0-0libwayland-client0libx11-6libxcb1libxcomposite1libxdamage1libxext6libxfixes3libxkbcommon0libxrandr2安装浏览器
在 Playwright 项目中,通常先安装项目依赖,再安装浏览器。此时,并不需要 root 的权限。
比如使用如下命令安装 Chromium:
npm install # 或者 npm cinpx playwright install chromium然后就可以运行自动化任务了。