juffel
juffel

Reputation: 1115

How to display JS errors in Capybara + ChromeDriver?

I have an integration test setup that uses RSpec + Capybara. We recently switched from PhantomJS to headless Chromedriver and I miss that javascript errors are not displayed anymore.

Is there a convenient way of configuring Chromedriver so that javascript errors show up in the log output of capybara tests?

The ways of accessing the javascript errors I found (see below) all are a bit cumbersome or not really what I was looking for.

Upvotes: 7

Views: 5364

Answers (2)

smallbutton
smallbutton

Reputation: 3437

With

RSpec.configure do |config|
  config.after(type: :feature) do
    STDERR.puts page.driver.browser.manage.logs.get(:browser)
  end
end

one can print out the logs after each example, that is a feature spec with RSpec. Should be similar in other test frameworks. This does not fail the example however.

Upvotes: 12

Thomas Walpole
Thomas Walpole

Reputation: 49890

Assuming your second method is referring to the comments in that gist rather than the method that requires installing an extension, then no there isn't. Selenium is basing its functionality/feature support off the WebDriver spec - https://w3c.github.io/webdriver/webdriver-spec.html - which doesn't specify anything about reporting JS errors back to the automation client.

Note - there are configuration options for the Chrome logs which may change the verbosity and get rid of the "kind of cut back" issue - see Capture browser console logs with capybara

Upvotes: 3

Related Questions