这个问题之前已经在 Java 中回答过(获取 chrome 的控制台日志)
但是,我正在使用 Ruby 绑定,想知道它是否提供了类似的功能?
我查看了 Ruby 源代码,但看不到任何对 LoggingPreferences 的提及或引用。
顺便说一句,我正在使用 RemoteWebDriver 并传入所需的功能对象。大概我想在该对象中设置日志记录首选项,但我很难看到在哪里。
这个问题之前已经在 Java 中回答过(获取 chrome 的控制台日志)
但是,我正在使用 Ruby 绑定,想知道它是否提供了类似的功能?
我查看了 Ruby 源代码,但看不到任何对 LoggingPreferences 的提及或引用。
顺便说一句,我正在使用 RemoteWebDriver 并传入所需的功能对象。大概我想在该对象中设置日志记录首选项,但我很难看到在哪里。
为迟到的回应道歉。
我最初是通过将以下内容添加到 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)
但是,selenium ruby gem 的 2.38 版公开了日志记录 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 生成报告。