javascriptfirefoxseleniumprotractornightly-build

Running Protractor against a nightly Firefox build


When I try to run Protractor tests against a "Nightly" Firefox build, firefox window hangs indefinitely:

enter image description here

Here is the relevant part of my configuration:

exports.config = {
    baseUrl: 'http://localhost:8080/dev/src/',
    specs: ['dev/test/e2e/**/dashboard.spec.js'],
    directConnect: true,
    capabilities: {
        browserName: "firefox",
        firefox_binary: "/Applications/FirefoxNightly.app/Contents/MacOS/firefox-bin",
    },

    allScriptsTimeout: 110000,
    getPageTimeout: 100000,
    framework: 'jasmine2',
    jasmineNodeOpts: {
        isVerbose: false,
        showColors: true,
        includeStackTrace: false,
        defaultTimeoutInterval: 400000
    },
};

There was a related issue with no solution provided.

One of the possible workarounds I've found might be to move the WebDriver xpi extension from the stable firefox installation (or a different source) to the "extensions" directory of the Nightly firefox profile, but I'm not sure how to do it.

I've also found something about using "Marionette" driver to test a nightly Firefox build, but I haven't found any guidelines on it's relationship to Protractor.


Using:

Tried with directConnect and without - same behavior.


Solution

  • Apparently this is an issue with Firefox 46. The default FirefoxDriver no longer works with this version - you need to be using the Marionette driver. I also found a quick how-to on using the new driver with Selenium.

    I'm facing the same problem as well. We run our tests with directConnect by default, so I'm yet to figure out how to get protractor to use Marionette instead of FirefoxDriver.

    If you're having protractor connect to Selenium, then you should be able to follow the guides available to make Selenium use the new driver - that shouldn't affect protractor's relationship with Selenium.


    Update: Looking into the problem of using the latest versions of Firefox with directConnect, I found no way of instructing protractor to use the Marionette driver. I've opened an issue with the protractor team for this.