There have been various issues using selenium-standalone driver due to frequent update to Firefox. It’s great to see marionette driver from Mozilla. It’s well documented at https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette .
In this article, I have covered steps required to use it with protractor. Note that “Protractor” does not yet support Selenium-Standalone 3.x. Additionally, gecko version 0.8 is the max version that works with selenium-standalone jar 2.x
Steps:
- Download gecko driver from https://github.com/mozilla/geckodriver/releases/tag/v0.8.0
- Instead of using webdriver-manager start, use below command
java -jar /usr/local/lib/node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-2.53.1.jar -Dwebdriver.chrome.driver=/usr/local/lib/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.22 -Dwebdriver.gecko.driver=/usr/local/lib/node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-0.8.0-OSX
3. Add below lines in protractor.conf
capabilities: {
'browserName': 'firefox',
'marionette': true
},
That’s it. You are ready to use Marionette
–> Above solution solves most of the issue with Firefox 47.x 48.x / selenium-server-standalone-2.53.1.jar
–> It solves issues ike:
1- Firefox launches , but does not load the url
2. You get below exception
[22:41:07] E/launcher - Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
-a285-3208198ce6fd}","syncGUID":"qek8BxoYPz7q","location":"app-global","version":"48.0.2","type":"theme","internalName":"classic/1.0","updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null,"icons":{"32":"icon.png","48":"icon.png"},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Default","description":"The default theme.","creator":"Mozilla","homepageURL":null,"contributors":["Mozilla Contributors"]},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"/Applications/Firefox.app/Contents/Resources/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi","installDate":1473992361000,"updateDate":1473992361000,"applyBackgroundUpdates":1,"skinnable":true,"size":7140,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"48.0.2","maxVersion":"48.0.2"}],"targetPlatforms":[],"seen":true}
1474090822432 addons.xpi DEBUG getModTime: Recursive scan of {972ce4c6-7e08-4474-a285-3208198ce6fd}
1474090822433 DeferredSave.extensions.json DEBUG Save changes
1474090822433 addons.xpi DEBUG Updating database with changes to installed add-ons
1474090822433 addons.xpi-utils DEBUG Updating add-on states
1474090822433 addons.xpi-utils DEBUG Writing add-ons list
1474090822434 addons.xpi DEBUG Registering manifest for /Applications/Firefox.app/Contents/Resources/browser/features/e10srollout@mozilla.org.xpi
1474090822434 addons.xpi DEBUG Calling bootstrap method startup on e10srollout@mozilla.org version 1.1
1474090822434 addons.xpi DEBUG Registering manifest for /Applications/Firefox.app/Contents/Resources/browser/features/firefox@getpocket.com.xpi
1474090822435 addons.xpi DEBUG Calling bootstrap method startup on firefox@getpocket.com version 1.0.4
1474090822435 addons.xpi DEBUG Registering manifest for /Applications/Firefox.app/Contents/Resources/browser/features/loop@mozilla.org.xpi
1474090822436 addons.xpi DEBUG Calling bootstrap method startup on loop@mozilla.org version 1.4.4
1474090822451 addons.manager DEBUG Registering shutdown blocker for XPIProvider
1474090822451 addons.manager DEBUG Provider finished startup: XPIProvider
1474090822451 addons.manager DEBUG Starting provider: LightweightThemeManager
1474090822451 addons.manager DEBUG Registering shutdown blocker for LightweightThemeManager
1474090822452 addons.manager DEBUG Provider finished startup: LightweightThemeManager
1474090822452 addons.manager DEBUG Starting provider: GMPProvider
1474090822456 addons.manager DEBUG Registering shutdown blocker for GMPProvider
1474090822456 addons.manager DEBUG Provider finished startup: GMPProvider
1474090822456 addons.manager DEBUG Starting provider: PluginProvider
1474090822457 addons.manager DEBUG Registering shutdown blocker for PluginProvider
1474090822457 addons.manager DEBUG Provider finished startup: PluginProvider
1474090822457 addons.manager DEBUG Completed startup sequence
1474090822865 addons.manager DEBUG Starting provider: <unnamed-provider>
1474090822865 addons.manager DEBUG Registering shutdown blocker for <unnamed-provider>
1474090822865 addons.manager DEBUG Provider finished startup: <unnamed-provider>
1474090822867 DeferredSave.extensions.json DEBUG Starting write
1474090823067 addons.repository DEBUG No addons.json found.
1474090823068 DeferredSave.addons.json DEBUG Save changes
1474090823070 DeferredSave.addons.json DEBUG Starting timer
1474090823115 addons.manager DEBUG Starting provider: PreviousExperimentProvider
1474090823116 addons.manager DEBUG Registering shutdown blocker for PreviousExperimentProvider
1474090823116 addons.manager DEBUG Provider finished startup: PreviousExperimentProvider
1474090823119 DeferredSave.extensions.json DEBUG Write succeeded
1474090823120 addons.xpi-utils DEBUG XPI Database saved, setting schema version preference to 17
1474090823125 DeferredSave.addons.json DEBUG Starting write
1474090823150 DeferredSave.addons.json DEBUG Write succeeded
[22:41:07] E/launcher - WebDriverError: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
-a285-3208198ce6fd}","syncGUID":"qek8BxoYPz7q","location":"app-global","version":"48.0.2","type":"theme","internalName":"classic/1.0","updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null,"icons":{"32":"icon.png","48":"icon.png"},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Default","description":"The default theme.","creator":"Mozilla","homepageURL":null,"contributors":["Mozilla Contributors"]},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"/Applications/Firefox.app/Contents/Resources/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi","installDate":1473992361000,"updateDate":1473992361000,"applyBackgroundUpdates":1,"skinnable":true,"size":7140,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"48.0.2","maxVersion":"48.0.2"}],"targetPlatforms":[],"seen":true}
1474090822432 addons.xpi DEBUG getModTime: Recursive scan of {972ce4c6-7e08-4474-a285-3208198ce6fd}
1474090822433 DeferredSave.extensions.json DEBUG Save changes
1474090822433 addons.xpi DEBUG Updating database with changes to installed add-ons
1474090822433 addons.xpi-utils DEBUG Updating add-on states
1474090822433 addons.xpi-utils DEBUG Writing add-ons list
1474090822434 addons.xpi DEBUG Registering manifest for /Applications/Firefox.app/Contents/Resources/browser/features/e10srollout@mozilla.org.xpi
1474090822434 addons.xpi DEBUG Calling bootstrap method startup on e10srollout@mozilla.org version 1.1
1474090822434 addons.xpi DEBUG Registering manifest for /Applications/Firefox.app/Contents/Resources/browser/features/firefox@getpocket.com.xpi
1474090822435 addons.xpi DEBUG Calling bootstrap method startup on firefox@getpocket.com version 1.0.4
1474090822435 addons.xpi DEBUG Registering manifest for /Applications/Firefox.app/Contents/Resources/browser/features/loop@mozilla.org.xpi
1474090822436 addons.xpi DEBUG Calling bootstrap method startup on loop@mozilla.org version 1.4.4
1474090822451 addons.manager DEBUG Registering shutdown blocker for XPIProvider
1474090822451 addons.manager DEBUG Provider finished startup: XPIProvider
1474090822451 addons.manager DEBUG Starting provider: LightweightThemeManager
1474090822451 addons.manager DEBUG Registering shutdown blocker for LightweightThemeManager
1474090822452 addons.manager DEBUG Provider finished startup: LightweightThemeManager
1474090822452 addons.manager DEBUG Starting provider: GMPProvider
1474090822456 addons.manager DEBUG Registering shutdown blocker for GMPProvider
1474090822456 addons.manager DEBUG Provider finished startup: GMPProvider
1474090822456 addons.manager DEBUG Starting provider: PluginProvider
1474090822457 addons.manager DEBUG Registering shutdown blocker for PluginProvider
1474090822457 addons.manager DEBUG Provider finished startup: PluginProvider
1474090822457 addons.manager DEBUG Completed startup sequence
1474090822865 addons.manager DEBUG Starting provider: <unnamed-provider>
1474090822865 addons.manager DEBUG Registering shutdown blocker for <unnamed-provider>
1474090822865 addons.manager DEBUG Provider finished startup: <unnamed-provider>
1474090822867 DeferredSave.extensions.json DEBUG Starting write
1474090823067 addons.repository DEBUG No addons.json found.
1474090823068 DeferredSave.addons.json DEBUG Save changes
1474090823070 DeferredSave.addons.json DEBUG Starting timer
1474090823115 addons.manager DEBUG Starting provider: PreviousExperimentProvider
1474090823116 addons.manager DEBUG Registering shutdown blocker for PreviousExperimentProvider
1474090823116 addons.manager DEBUG Provider finished startup: PreviousExperimentProvider
1474090823119 DeferredSave.extensions.json DEBUG Write succeeded
1474090823120 addons.xpi-utils DEBUG XPI Database saved, setting schema version preference to 17
1474090823125 DeferredSave.addons.json DEBUG Starting write
1474090823150 DeferredSave.addons.json DEBUG Write succeeded
at WebDriverError (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:27:10)
at Object.checkLegacyResponse (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:639:15)
at parseHttpResponse (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:538:13)
at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:472:11
at ManagedPromise.invokeCallback_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1379:14)
at TaskQueue.execute_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2913:14)
at TaskQueue.executeNext_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2896:21)
at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2820:25
at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:639:7
at process._tickCallback (node.js:368:9)
From: Task: WebDriver.createSession()
at Function.createSession (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:329:24)
at Builder.build (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/builder.js:458:24)
at Hosted.DriverProvider.getNewDriver (/usr/local/lib/node_modules/protractor/built/driverProviders/driverProvider.js:37:33)
at Runner.createBrowser (/usr/local/lib/node_modules/protractor/built/runner.js:190:43)
at /usr/local/lib/node_modules/protractor/built/runner.js:264:30
at _fulfilled (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:834:54)
at self.promiseDispatch.done (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:863:30)
at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:796:13)
at /usr/local/lib/node_modules/protractor/node_modules/q/q.js:556:49
at runSingle (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:137:13)
[22:41:07] E/launcher - Process exited with error code 199