在Rails项目中,我使用Cucumber和Capybara,以便通过Selenium在Chrome网络浏览器中运行我的测试。
我的测试运行良好,但我想在我的 Rails 应用程序的日志文件中获取console.log
、console.error
等。
我已经注册了一个这样的:chrome
水豚驱动程序(基于不同的文章和 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(获取"控制台.log"?
日志不会自动显示,您需要从Selenium请求它们,然后添加然后将它们写出到您喜欢的任何日志中。 要请求日志,您需要执行以下操作
page.driver.browser.manage.logs.get(:browser) # :driver, etc.
通常,您会在后续步骤中执行类似操作,然后将其写入您希望它所在的日志文件。