Explore Courses Blog Tutorials Interview Questions
0 votes
in DevOps and Agile by (19.7k points)

Last weeks there has been a lot of noise about this new FirefoxDriver called Marionette. To use Firefox with Selenium, we used to use the "old" Selenium FirefoxDriver. From Firefox 48.0 onwards it is going to be required to use this new FirefoxDriver developed by Mozilla.

I understand it is required to change to that direction to get every browser supports and develops its drivers and to get drivers independent of Selenium. Besides, it is supposed if Mozilla develops its own driver, it will be faster and easier to fix issues and to develop features.

My question is, for those who create automated tests using Selenium framework, is there any benefit of using Marionette instead of the "old" Selenium supported FirefoxDriver? _(Such as better performance, better compatibility...)

1 Answer

0 votes
by (62.9k points)

The main advantage for using the Mozilla-provided, Marionette-based Geckodriver solution is that it works for versions of Firefox 48 and higher. The legacy driver provided and maintained by the selenium project does not work for Firefox forty-eight or higher, and can ne'er work for those versions of Firefox.

The legacy driver is implemented as a Firefox extension. This extension is installed within the profile utilized by the driver when WebDriver launches Firefox. Firefox forty-eight introduced 2 new features that disabled this browser extension. The first is the so-called "electrolysis" feature or multiprocess Firefox. Electrolysis changes the approach extensions ought to handle the browser in ways the selenium team has not taken the time to completely perceive.

The second, additional vital requirement is that all browser extensions should be signed by Mozilla before the browser can permit them to load. This latter feature has been in Firefox for many versions, however starting with forty-eight, it can no longer be disabled. The WebDriver browser extension introduces many valid security considerations for the Firefox browser, and as such, will not be signed by Mozilla's security team. This, in turn, renders the extension inoperable, and so selenium can no longer communicate with Firefox. The Marionette-based solution, being developed and maintained by Mozilla in the first place, is blessed by them for use in automating Firefox, and as such carries a commitment that it will continue to work with future versions moving forward.

So the primary advantage of using marionette with Firefox forty-eight and higher is that it'll work, whereas alternative solutions won't.

Browse Categories