Marionette driver vs firefox driver

1,566 views
Skip to first unread message

Aniket Mane

unread,
Aug 12, 2016, 10:38:57 PM8/12/16
to seleniu...@googlegroups.com

Hi All,
Could anyone explain me marionette driver and firefox driver.
As per my understanding marionette was introduced since to support firefox versions 47 n above.
So why people are using marionette driver? Is there any added advantage using the same?

cap=DesiredCapabilities.firefox();
cap.setCapability("marionette", true);
String marionetteDriverLocation = currentDir + "/src/test/resources/jars/geckodriver.exe";
System.setProperty("webdriver.gecko.driver", marionetteDriverLocation);
driver = new FirefoxDriver(cap);

Jim Evans

unread,
Aug 13, 2016, 7:59:38 AM8/13/16
to Selenium Users
This answer on StackOverflow explains the reasons and advantages of using the Mozilla-provided, Marionette-based Firefox driver over the legacy driver written by the Selenium project. http://stackoverflow.com/a/38917100/374693

The main point of the answer is that for Firefox 48 and above, the main advantage is that Marionette works, and the legacy implementation doesn't (and can't, and never will, for techical reasons).

Aniket Mane

unread,
Aug 14, 2016, 12:28:00 AM8/14/16
to seleniu...@googlegroups.com

Thanks james i read that link.But i have one doubt.

Marionettedriver is now deprecated as per seleniumhq,so to invoke firefox is there any need to write these below lines
capabilities.setCapability("marionette", true);
Or this would be sufficient
System.setProperty("webdriver.gecko.driver","C:\\Users\\Jay\\Downloads\\geckodriver-v0.10.0-win64\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();


On Aug 13, 2016 5:29 PM, "Jim Evans" <james.h....@gmail.com> wrote:
This answer on StackOverflow explains the reasons and advantages of using the Mozilla-provided, Marionette-based Firefox driver over the legacy driver written by the Selenium project. http://stackoverflow.com/a/38917100/374693

The main point of the answer is that for Firefox 48 and above, the main advantage is that Marionette works, and the legacy implementation doesn't (and can't, and never will, for techical reasons).

--
You received this message because you are subscribed to the Google Groups "Selenium Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to selenium-users+unsubscribe@googlegroups.com.
To post to this group, send email to selenium-users@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/selenium-users/6eadc637-e605-46fb-9d16-1b5df14096ca%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

⇜Krishnan Mahadevan⇝

unread,
Aug 14, 2016, 12:41:36 AM8/14/16
to Selenium Users
Aniket,

I think org.openqa.selenium.firefox.MarionetteDriver was deprecated because Selenium dev community perhaps didn't want to introduce another new class for firefox automation but rather have people use the existing FirefoxDriver to do the same but in a new fashion (using the geckodriver binary)

Currently the capability org.openqa.selenium.firefox.FirefoxDriver#MARIONETTE determines whether FirefoxDriver should resort to using the plug-in approach for interacting with firefox (or) should it resort to relying on the geckodriver binary for doing it.

You would be required to set the org.openqa.selenium.firefox.GeckoDriverService#GECKO_DRIVER_EXE_PROPERTY (webdriver.gecko.driver) property only if your geckodriver binary resides in a directory that is not part of your PATH environment variable.

If you have the geckodriver.exe in your PATH variable, you don't need to set the property.

Thanks & Regards
Krishnan Mahadevan

"All the desirable things in life are either illegal, expensive, fattening or in love with someone else!"
My Scribblings @ http://wakened-cognition.blogspot.com/
My Technical Scribbings @ http://rationaleemotions.wordpress.com/

On Sun, Aug 14, 2016 at 9:57 AM, Aniket Mane <aniket...@gmail.com> wrote:

Thanks james i read that link.But i have one doubt.

Marionettedriver is now deprecated as per seleniumhq,so to invoke firefox is there any need to write these below lines
capabilities.setCapability("marionette", true);
Or this would be sufficient
System.setProperty("webdriver.gecko.driver","C:\\Users\\Jay\\Downloads\\geckodriver-v0.10.0-win64\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();

On Aug 13, 2016 5:29 PM, "Jim Evans" <james.h....@gmail.com> wrote:
This answer on StackOverflow explains the reasons and advantages of using the Mozilla-provided, Marionette-based Firefox driver over the legacy driver written by the Selenium project. http://stackoverflow.com/a/38917100/374693

The main point of the answer is that for Firefox 48 and above, the main advantage is that Marionette works, and the legacy implementation doesn't (and can't, and never will, for techical reasons).

--
You received this message because you are subscribed to the Google Groups "Selenium Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to selenium-users+unsubscribe@googlegroups.com.
To post to this group, send email to seleniu...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Selenium Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to selenium-users+unsubscribe@googlegroups.com.
To post to this group, send email to selenium-users@googlegroups.com.

Kriti Mansingh

unread,
Feb 10, 2017, 7:39:14 AM2/10/17
to Selenium Users
Hello Krishnan

Can i request for a sample code to use Gecko driver.
Do we have to set any property as False for marionette

Thanks
Kriti


On Sunday, August 14, 2016 at 10:11:36 AM UTC+5:30, Krishnan wrote:
Aniket,

I think org.openqa.selenium.firefox.MarionetteDriver was deprecated because Selenium dev community perhaps didn't want to introduce another new class for firefox automation but rather have people use the existing FirefoxDriver to do the same but in a new fashion (using the geckodriver binary)

Currently the capability org.openqa.selenium.firefox.FirefoxDriver#MARIONETTE determines whether FirefoxDriver should resort to using the plug-in approach for interacting with firefox (or) should it resort to relying on the geckodriver binary for doing it.

You would be required to set the org.openqa.selenium.firefox.GeckoDriverService#GECKO_DRIVER_EXE_PROPERTY (webdriver.gecko.driver) property only if your geckodriver binary resides in a directory that is not part of your PATH environment variable.

If you have the geckodriver.exe in your PATH variable, you don't need to set the property.

Thanks & Regards
Krishnan Mahadevan

"All the desirable things in life are either illegal, expensive, fattening or in love with someone else!"
My Scribblings @ http://wakened-cognition.blogspot.com/
My Technical Scribbings @ http://rationaleemotions.wordpress.com/

On Sun, Aug 14, 2016 at 9:57 AM, Aniket Mane <aniket...@gmail.com> wrote:

Thanks james i read that link.But i have one doubt.

Marionettedriver is now deprecated as per seleniumhq,so to invoke firefox is there any need to write these below lines
capabilities.setCapability("marionette", true);
Or this would be sufficient
System.setProperty("webdriver.gecko.driver","C:\\Users\\Jay\\Downloads\\geckodriver-v0.10.0-win64\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();

On Aug 13, 2016 5:29 PM, "Jim Evans" <james.h....@gmail.com> wrote:
This answer on StackOverflow explains the reasons and advantages of using the Mozilla-provided, Marionette-based Firefox driver over the legacy driver written by the Selenium project. http://stackoverflow.com/a/38917100/374693

The main point of the answer is that for Firefox 48 and above, the main advantage is that Marionette works, and the legacy implementation doesn't (and can't, and never will, for techical reasons).

--
You received this message because you are subscribed to the Google Groups "Selenium Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to selenium-user...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Selenium Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to selenium-user...@googlegroups.com.

To post to this group, send email to seleniu...@googlegroups.com.

⇜Krishnan Mahadevan⇝

unread,
Feb 10, 2017, 9:35:21 AM2/10/17
to Selenium Users
Kriti,

I guess now by default Marionette related settings are enabled. 

So all you would need to do is : RemoteWebDriver driver = new FirefoxDriver();

That should do. [ Make sure you have geckodriver binary available in your PATH ]

Thanks & Regards
Krishnan Mahadevan

"All the desirable things in life are either illegal, expensive, fattening or in love with someone else!"
My Scribblings @ http://wakened-cognition.blogspot.com/
My Technical Scribbings @ http://rationaleemotions.wordpress.com/

To unsubscribe from this group and stop receiving emails from it, send an email to selenium-users+unsubscribe@googlegroups.com.
To post to this group, send email to selenium-users@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/selenium-users/27a96d49-6269-4edf-a090-aa04c60c446f%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages