jfirebaugh / konacha

Test your Rails application's JavaScript with the mocha test framework and chai assertion library
Other
1.05k stars 117 forks source link

Firefox 47 with selenium marionette driver fails #228

Open hugocorbucci opened 8 years ago

hugocorbucci commented 8 years ago

Firefox 47 is only compatible with the marionette webdriver (https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver). Selenium needs to be configured to use such driver. Mainly it is:

  1. Download the geckodriver from https://github.com/mozilla/geckodriver/releases. Extract it and rename it to wires. chmod +x wires. Put it on your path.
  2. Change your Konacha configuration to be something like:
Konacha.configure do |config|
  Capybara.register_driver :selenium_marionette do |app|
    Capybara::Selenium::Driver.new(app, browser: :firefox, marionette: true)
  end
  config.driver = :selenium_marionette
end if defined?(Konacha)
  1. Run

Upon running, however, even though the test, in the browser runs correctly, I now get, from the command line: ERROR - Error communicating with browser process: TypeError: window.top.Konacha is undefined

Somehow, the context in which the session scripts execute is not the same as the ones where the JS files are loaded so a console.log(window.top.Konacha); in the runner.js and in the runner.rb yield different results. The former is correct. The latter is undefined.