在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)获取“console.log”?
答案 0 :(得分:2)
日志不会自动显示,您需要从Selenium请求它们然后添加然后将它们写入您喜欢的任何日志。要请求日志,您需要执行类似
的操作page.driver.browser.manage.logs.get(:browser) # :driver, etc.
通常,您会在后续步骤中执行类似的操作,然后将其写入您希望它所在的日志文件中。