8

这个问题之前已经在 J​​ava 中回答过(获取 chrome 的控制台日志

但是,我正在使用 Ruby 绑定,想知道它是否提供了类似的功能?

我查看了 Ruby 源代码,但看不到任何对 LoggingPreferences 的提及或引用。

顺便说一句,我正在使用 RemoteWebDriver 并传入所需的功能对象。大概我想在该对象中设置日志记录首选项,但我很难看到在哪里。

4

2 回答 2

8

为迟到的回应道歉。

我最初是通过将以下内容添加到 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
于 2014-07-20T22:03:34.570 回答
0

您也可以使用此代码

需要'selenium-webdriver'

console_logs = @browser.driver.manage.logs.get(:browser) puts = console_logs

ReportBuilder.build_report

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

于 2018-06-13T06:14:47.123 回答