通过Ruby WebDriver获取chromes控制台日志
此问题之前已在Java中得到解答( Get chrome的控制台日志 )
但是,我正在使用Ruby绑定,并想知道是否提供了类似的function?
我查看了Ruby源代码,但看不到任何提及或引用LoggingPreferences。
顺便说一句,我正在使用RemoteWebDriver并传入所需的function对象。 据推测,我想在该对象中设置日志记录首选项,但我很难看到哪里。
对迟到的回应道歉。
我最初通过向Webdriver添加以下内容来实现它;
module Selenium module WebDriver class Options # # Returns the available logs for this webDriver instance # def available_log_types @bridge.getAvailableLogTypes end # # Returns the requested log # # @param type [String] The required log type # # @return [Array] An array of log entries # def get_log(type) @bridge.getLog(type) end end end end
当“需要”时,这导致以下支持;
driver.manage.get_log(:browser)
然而,2.38版的seleniumrubygem暴露了测井API(虽然是实验性的)。
http://selenium.googlecode.com/git/rb/CHANGES
https://code.google.com/p/selenium/wiki/Logging
因此,从2.38起,以下内容应在没有上述延期的情况下工作;
driver.manage.logs.get :browser
您也可以使用此代码
需要’selenium-webdriver’
console_logs = @ browser.driver.manage.logs.get(:browser)puts = console_logs
ReportBuilder.build_report
使用命令-f json -o my_report_file.json生成报告。