You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何使用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版本(而非自己下载的),可以通过以下步骤操作:

  1. 安装指定版本的Chromium
    playwright install命令加上具体版本号即可,比如安装Chromium 118.0.5993.70版本:

    npx playwright install chromium@118.0.5993.70
    

    Playwright会把这个版本安装到默认缓存目录(比如~/.cache/ms-playwright/),每个版本会单独存放,互不干扰。

  2. 通过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
      
额外注意事项
  • 版本兼容性:确保你使用的Chromium版本和当前Playwright版本兼容,过旧的Chromium可能无法支持Playwright的新API,反之亦然。如果遇到报错,可以核对两者的版本适配关系。
  • CLI参数优先级--executable-path参数会覆盖你在playwright.config.ts中配置的executablePathchannel设置,所以临时切换版本用CLI参数最方便。
  • 批量切换:如果经常需要在多个版本间切换,可以写个简单的shell脚本/bat脚本,把不同版本的路径封装成命令,比如test-chromium-119test-chromium-118,这样不用每次手动输长路径。

内容的提问来源于stack exchange,提问作者Ciccios_1518

火山引擎 最新活动