Chrome/Chromium 的 Karma customLauncher 配置

Karma customLauncher configuration for Chrome/Chromium

我已将 Karma 配置为使用 Chrome 进行测试:

browsers: [ 'Chrome' ];

每次我 运行 Karma 都会以某种启用了硬件加速的默认配置启动 Chromium。

硬件加速在我的系统上有一些问题,使浏览器相当不可用,所以我希望它默认关闭。我试图在设置中将其关闭,但我的更改并不持久,每次我重新启动 Karma 或浏览器时,硬件加速都会再次启用。

有什么方法可以为 Chrome 创建一个 customLauncher 配置,我可以在其中停用硬件加速?

附带说明一下,如果我可以使用 Google Chrome 而不是 Chromium 就好了,如果系统上安装了 Karma 似乎总是更喜欢 Chromium。

我已尝试创建以下 customLaunchers 配置,但加载失败并出现错误:

customLaunchers: {
    Chrome_Persistent: {
        base: 'Chrome',
        chromeDataDir: path.resolve('.chrome')
    }
}

错误是:

错误[配置]:配置文件错误! [ReferenceError: 路径未定义] ReferenceError:路径未定义

你问了两个问题。

对于您的主要问题,Chrome 和 Chromium 有许多 switches/flags 可以在启动应用程序时使用。您可以在定义自定义启动器时添加它们:

customLaunchers: {
  chrome_sans_ha: { //give it whatever name you want
    base: 'Chrome',
    flags: ['--disable-gpu',
            '--disable-accelerated-video-decode',
            '--disable-accelerated-mjpeg-decode']
  },

我认为您只需要第一个标志。可以找到可能标志的列表 here.

为了调用 Chrome 而不是 Chromium,CHROME_BIN 环境变量必须指向 chrome 的可执行文件。

在我的 POSIX shell 上,我添加了这一行:

export CHROME_BIN=/usr/bin/google-chrome-stable

你的会有所不同。如果你在 Windows,你有几个选择。

第一次使用cmd.

C:> SET CHROME_BIN=C:\Program Files\PathToGoogleChrome.exe

另一个正在使用 PowerShell,您可以在 karma-runner faq

上找到更多相关信息