在 WebdriverIO 中获取 chrome 日志

Get chrome logs in WebdriverIO

我试图在通过 WebdriverIO 启动时获取 Chrome 的日志。 这些是我在 WebdriverIO 中使用的选项:

{
      desiredCapabilities: {
        browserName: 'chrome',
        chromeOptions: {
          binary: path.resolve('/usr/bin/google-chrome'),
          args: [
            '--load-and-launch-app=' + path.resolve('./build/chrome/'),
            '--enable-logging',
            '--v=1',
            '--no-sandbox',
          ]
        }
      }
    }
}

浏览器(和扩展程序)正常启动,但我在 ~/.config/google-chrome/ 文件夹中找不到 chrome_deug.log 文件。

但是,如果我手动执行此操作,例如从终端 (google-chrome --enable-logging --v=1) 启动 chrome,日志文件会出现。这让我相信我要么做错了什么,要么这是 WebdriverIO 的问题。

我在 Ubuntu 14.04,使用 Chrome 48,但我在 OSX 和 Chrome 49 上也注意到同样的事情。

有人能指出我正确的方向吗?谢谢。

您可以使用 .log webdriver-io 函数在您的测试中获取浏览器日志:

browser.log('browser')

重要的是 .log 函数调用会清除浏览器日志,因此如果您想获得完整的日志,则需要连接 .log 函数的结果。 我这样做是这样的:

this.browserLog = this.browserLog.concat(browser.log('browser').value);