Please post your Web Driver questions in official Web Driver forum

Monday, July 11, 2016

Marionette Web driver and STF

If you were also stuck with Firefox 47 and Selenium 2.53 issue then this is right time to start experimenting with Marionette.  
But Before delving into Marionette, let’s see what a web browser engine is. Web browser engine is a program which renders markup content (i.e. html, xml, images etc) and the format information (i.e. css, xsl etc). It is also known as layout or rendering engine. In simple words, web browser engine is responsible for how you are able to see a web page in a browser, email client or e-book reader. Some of the most popular web browser engines are -


  • Webkit which is used in safari and chrome browsers
  • Gecko used in Firefox, Thunderbird email client


Marionette is WebDriver version for Mozilla’s Gecko engine. It can control both the browser (menu, function etc) also known as chrome (don’t confuse with google chrome browser ;-)) and the content within the browser (something which is of immense value for test automation).


Marionette also follows the client server architecture of other web drivers. Client sends commands to server and server executes them Gecko engine. Marionette ships with Firefox.


Using Marionette -


If you are not using STF then you should follow these steps -


  • Set the path
System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");


  • And start the Marionette driver
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver = new MarionetteDriver(capabilities);
That’s all and now you are ready to drive firefox using Marionette driver
If you are using STF then you just have to specify browser as *marionette and that’s all. Beware the Marionette is yet new and you may encountered unexpected failures during test run.
Found a bug in Marionette? Check list of existing bugs before filing a new bug.
Found a bug in STF. Please report it on GitHub.


A note from automated tester about Marionette future versions -


Marionette will be turned on by default from Selenium 3, which is currently being worked on by the Selenium community. Ideally when Firefox 52 comes around you will just update to Selenium 3 and, fingers crossed, all works as planned.

Grab the latest version of STF and start experimenting with Marionette :)
Fork me on GitHub