如何使用Cucumber Ruby自动化打印浏览器控制台日志?

4

你能帮忙翻译关于Cucumber Capybara测试自动化中,如何打印网页浏览器控制台日志的内容吗?需使用PhantomJS作为Webdriver,方法如下:

Capybara::Selenium::Driver.new(app, :browser => :phantomjs, desired_capabilities: { 'phantomjs.cli.args' => ['--ignore-ssl-errors=yes']

我想要在执行自动化过程时捕获浏览器JS控制台日志并将其打印出来。

1个回答

13

既然你正在使用selenium,你可以尝试

page.driver.browser.manage.logs.get("browser")

注意:我从未尝试过在PhantomJS浏览器中使用它。


感谢您的回复。我已经使用了以下代码: logs = page.driver.manage.logs.get("browser"); p "Logs: #{logs}" 但是出现了以下错误: undefined method `manage' for #Capybara::Selenium::Driver:0x007fa1574910b0 (NoMethodError) 请帮忙解决... - SaeeK
没错,我不知道如何接受它。在该问题解决之后我会接受的。无论如何,还是不起作用。我在使用Chrome时遇到了这个错误。未知错误:找不到日志类型“chrome”(会话信息:chrome=47.0.2526.111)(驱动程序信息:chromedriver=2.14.313457(3d645c400edf2e2c500566c9aa096063e707c9cf),平台=Mac OS X 10.9.5 x86_64)(Selenium::WebDriver::Error::UnknownError)。如果状态码是200而不是任何JavaScript错误,那么我应该获得200状态码。 - SaeeK
你的问题明确指出你正在使用PhantomJS -- 从哪里来的Chrome? - Thomas Walpole
嗯——我现在真的不太确定你在问什么——状态码与控制台日志有什么关系? - Thomas Walpole
但日志类型不是Chrome或PhantomJS - 日志类型为"浏览器" -- .get("browser") - Thomas Walpole

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接