在WebdriverIO中获取chrome日志

时间:2016-03-17 09:01:20

标签: google-chrome selenium-chromedriver webdriver-io

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

String strr = "{msg=1234,returnCode=123}";
Pattern pat2 = Pattern.compile("(?<key>\\w+)=(?<val>\\w+)");
Matcher m = pat2.matcher(strr);
while (m.find()) {
    if (m.group("key").equals("returnCode")) {
        System.out.println(m.group("val")); // prints 123
    }
}

浏览器(和扩展程序)已正常启动,但我无法在{ 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', ] } } } } 文件夹中找到chrome_deug.log文件。

但是,如果我手动执行此操作,例如,从终端(~/.config/google-chrome/)启动chrome,则会显示日志文件。这让我相信我做错了或者这是WebdriverIO的问题。

我在Ubuntu 14.04上使用的是Chrome 48,但我也注意到OSX上的Chrome 49也是如此。

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

1 个答案:

答案 0 :(得分:1)

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

<?php include("../class.phpmailer.php"); include("../PHPMailer/PHPMailerAutoload.php"); ?>

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

browser.log('browser')