Page MenuHomePhabricator

Cucumber tests won't run locally on firefox 47
Closed, DuplicatePublic

Description

Firefox self-updated recently to v. 47 and I cannot run cucumber tests anymore.

Running bundle exec cucumber opens Firefox which crashes with the following dialog message:

Firefox quit unexpectedly.
Click Reopen to open the application again. Click Report to see more detailed information and send a report to Apple.

Event Timeline

NOTE: TL;DR: rollback to Firefox ESR (v45) or the previous version (v46).

Yeah we have hit that last week or so on the CI infrastructure (which autoupdates the browsers). See T137561

The Firefox v47 release has a bug with WebDriver which causes it to crash Firefox. The last news is that there might be a patch upstream to fix it up in a future v47 release. Apparently Mozilla is going to phase out support of the WebDriver protocol in favor of a system they have named Marionette.

To be able to run WebDriver based utilities (such as our Selenium system), Mozilla wrote a proxy which translates the commands from WebDriver to Marionette. It is still experimental though and does not fully cover all of WebDriver. That makes me believe there will be a proper fix in v47.1 or v48.

The proxy is a rust application available from https://github.com/mozilla/geckodriver . The Selenium glue has to spawn it and pass all command through it to drive Firefox. Our mediawiki_selenium is going to be adjusted to recognize geckodriver T137540. For CI we need geckodriver to be packaged and shipped on the Jenkins slaves T137797.