如何使用Playwright切换至特定浏览器版本及通过CLI切换不同Chromium版本执行测试?
没问题,我来帮你搞定Playwright切换Chromium版本的事儿,分两种场景给你讲清楚:
一、通过CLI指定本地自定义Chromium文件夹版本运行测试
既然你已经有了独立存放的不同Chromium版本文件夹,直接用Playwright CLI的--executable-path参数就能精准指定要使用的Chromium可执行文件路径。
- Windows系统命令示例:
npx playwright test --executable-path="C:\chromium-versions\chromium-119\chrome.exe" - macOS系统命令示例(注意Chromium.app内部的可执行文件路径):
npx playwright test --executable-path="/Users/your-name/chromium-versions/chromium-118/Chromium.app/Contents/MacOS/Chromium" - Linux系统命令示例:
npx playwright test --executable-path="/home/your-name/chromium-versions/chromium-117/chrome"
这个方法的好处是完全复用你已有的Chromium版本,不需要额外安装,直接指向对应文件夹的可执行文件就行。
二、使用Playwright安装并切换到特定官方Chromium版本
如果你想使用Playwright官方维护的特定Chromium版本(而非自己下载的),可以通过以下步骤操作:
安装指定版本的Chromium
用playwright install命令加上具体版本号即可,比如安装Chromium 118.0.5993.70版本:npx playwright install chromium@118.0.5993.70Playwright会把这个版本安装到默认缓存目录(比如
~/.cache/ms-playwright/),每个版本会单独存放,互不干扰。通过CLI指定该版本运行测试
安装完成后,你可以直接通过--executable-path指向该版本的可执行文件路径,或者用环境变量临时切换:- 直接指定路径示例(macOS):
npx playwright test --executable-path="~/.cache/ms-playwright/chromium-1180599370/chrome-mac/Chromium.app/Contents/MacOS/Chromium" - 用环境变量临时设置(适合不想每次输长路径的情况):
# macOS/Linux export PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH="~/.cache/ms-playwright/chromium-1180599370/chrome-mac/Chromium.app/Contents/MacOS/Chromium" npx playwright test # Windows PowerShell $env:PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH="C:\Users\your-name\AppData\Local\ms-playwright\chromium-1180599370\chrome-win\chrome.exe" npx playwright test
- 直接指定路径示例(macOS):
额外注意事项
- 版本兼容性:确保你使用的Chromium版本和当前Playwright版本兼容,过旧的Chromium可能无法支持Playwright的新API,反之亦然。如果遇到报错,可以核对两者的版本适配关系。
- CLI参数优先级:
--executable-path参数会覆盖你在playwright.config.ts中配置的executablePath或channel设置,所以临时切换版本用CLI参数最方便。 - 批量切换:如果经常需要在多个版本间切换,可以写个简单的shell脚本/bat脚本,把不同版本的路径封装成命令,比如
test-chromium-119、test-chromium-118,这样不用每次手动输长路径。
内容的提问来源于stack exchange,提问作者Ciccios_1518




