通过Ruby WebDriver获取chromes控制台日志



这个问题之前已经在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)

但是,硒红宝石的 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

您也可以使用此代码

需要"硒网络驱动程序"

console_logs = @browser.driver.manage.logs.get(:browser)看跌期权 = console_logs

ReportBuilder.build_report

使用命令 -f json -o my_report_file.json 生成报告。

最新更新