Skip to content

Commit 5b92f28

Browse files
committed
more logging for these intermittent specs
1 parent 2ecd478 commit 5b92f28

File tree

1 file changed

+27
-3
lines changed

1 file changed

+27
-3
lines changed

ruby/hyper-model/spec/spec_helper.rb

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,12 @@ class JavaScriptError < StandardError; end
325325

326326
config.after(:each, js: true) do |spec|
327327
logs = page.driver.browser.manage.logs.get(:browser)
328+
if spec.exception
329+
all_messages = logs.select { |e| e.message.present? }
330+
.map { |m| m.message.gsub(/\\n/, "\n") }.to_a
331+
puts "Javascript client console messages:\n\n" +
332+
all_messages.join("\n\n") if all_messages.present?
333+
end
328334
errors = logs.select { |e| e.level == "SEVERE" && e.message.present? }
329335
.map { |m| m.message.gsub(/\\n/, "\n") }.to_a
330336
if client_options[:deprecation_warnings] == :on
@@ -362,13 +368,31 @@ class JavaScriptError < StandardError; end
362368
end
363369

364370
Capybara.register_driver :chrome_headless_docker_travis do |app|
371+
caps = Selenium::WebDriver::Remote::Capabilities.chrome(loggingPrefs:{browser: 'ALL'})
365372
options = ::Selenium::WebDriver::Chrome::Options.new
366373
options.add_argument('--headless')
367374
options.add_argument('--no-sandbox')
368375
options.add_argument('--disable-dev-shm-usage')
369-
Capybara::Selenium::Driver.new(app, browser: :chrome, :driver_path => "/usr/lib/chromium-browser/chromedriver", options: options)
376+
Capybara::Selenium::Driver.new(app, browser: :chrome, :driver_path => "/usr/lib/chromium-browser/chromedriver", options: options, desired_capabilities: caps)
377+
end
378+
379+
Capybara.register_driver :selenium_chrome_headless_with_logs do |app|
380+
caps = Selenium::WebDriver::Remote::Capabilities.chrome(loggingPrefs:{browser: 'ALL'})
381+
browser_options = ::Selenium::WebDriver::Chrome::Options.new()
382+
# browser_options.args << '--some_option' # add whatever browser args and other options you need (--headless, etc)
383+
browser_options.add_argument('--headless')
384+
Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options, desired_capabilities: caps)
385+
#
386+
#
387+
#
388+
# options = ::Selenium::WebDriver::Chrome::Options.new
389+
# options.add_argument('--headless')
390+
# options.add_argument('--no-sandbox')
391+
# options.add_argument('--disable-dev-shm-usage')
392+
# Capybara::Selenium::Driver.new(app, browser: :chrome, :driver_path => "/usr/lib/chromium-browser/chromedriver", options: options)
370393
end
371394

395+
372396
class Selenium::WebDriver::Firefox::Profile
373397

374398
def self.firebug_version
@@ -436,11 +460,11 @@ def enable_firebug(version = nil)
436460
elsif ENV['DRIVER'] == 'chrome'
437461
Capybara.javascript_driver = :chromez
438462
elsif ENV['DRIVER'] == 'headless'
439-
Capybara.javascript_driver = :selenium_chrome_headless
463+
Capybara.javascript_driver = :selenium_chrome_headless_with_logs #:selenium_chrome_headless
440464
elsif ENV['DRIVER'] == 'travis'
441465
Capybara.javascript_driver = :chrome_headless_docker_travis
442466
else
443-
Capybara.javascript_driver = :selenium_chrome_headless
467+
Capybara.javascript_driver = :selenium_chrome_headless_with_logs #:selenium_chrome_headless
444468
end
445469

446470
include ComponentTestHelpers

0 commit comments

Comments
 (0)