繁体   English   中英

如何在 Rails 日志文件中从 Selenium(使用 Chrome)获取“console.log”?

[英]How to get "console.log" from Selenium (with Chrome) in the Rails log files?

在 Rails 项目中,我使用 Cucumber 和 Capybara,以便通过 Selenium 在 Chrome 网络浏览器中运行我的测试。

我的测试运行良好,但我想在 Rails 应用程序的日志文件中获取console.logconsole.error等。

我已经注册了这样的:chrome capybara 驱动程序(基于不同的文章和 SO 答案):

Capybara.register_driver :chrome do |app|
  capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
    chromeOptions: {
      args: chrome_switches,
    },
    loggingPrefs: {
      browser: 'ALL',
      client: 'ALL',
      driver: 'ALL',
      server: 'ALL'
    }
  )
  Capybara::Selenium::Driver.new(
    app,
    browser: :remote,
    url: "http://selenium:#{ENV['SELENIUM_PORT']}/wd/hub",
    desired_capabilities: capabilities
  )
end

但是我在 Chrome 浏览器的日志文件中没有任何内容。

如何在 Rails 日志文件中从 Selenium(使用 Chrome)获取“console.log”?

日志不会自动显示,您需要从 Selenium 请求它们,然后添加然后将它们写到您喜欢的任何日志中。 要请求日志,您需要执行以下操作

page.driver.browser.manage.logs.get(:browser) # :driver, etc.

通常,您会在之后的步骤中执行类似操作,然后将其写入您希望它所在的日志文件中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM