{"action":"created","issue":{"url":"https://api.github.com/repos/SeleniumHQ/selenium/issues/2660","repository_url":"https://api.github.com/repos/SeleniumHQ/selenium","labels_url":"https://api.github.com/repos/SeleniumHQ/selenium/issues/2660/labels{/name}","comments_url":"https://api.github.com/repos/SeleniumHQ/selenium/issues/2660/comments","events_url":"https://api.github.com/repos/SeleniumHQ/selenium/issues/2660/events","html_url":"https://github.com/SeleniumHQ/selenium/issues/2660","id":173023727,"number":2660,"title":"Python: Error occurs when running WebDriver with Desired Capabilites ['marionette'] = True","user":{"login":"arosszay","id":19710518,"avatar_url":"https://avatars.githubusercontent.com/u/19710518?v=3","gravatar_id":"","url":"https://api.github.com/users/arosszay","html_url":"https://github.com/arosszay","followers_url":"https://api.github.com/users/arosszay/followers","following_url":"https://api.github.com/users/arosszay/following{/other_user}","gists_url":"https://api.github.com/users/arosszay/gists{/gist_id}","starred_url":"https://api.github.com/users/arosszay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arosszay/subscriptions","organizations_url":"https://api.github.com/users/arosszay/orgs","repos_url":"https://api.github.com/users/arosszay/repos","events_url":"https://api.github.com/users/arosszay/events{/privacy}","received_events_url":"https://api.github.com/users/arosszay/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-08-24T18:24:18Z","updated_at":"2016-08-24T19:56:55Z","closed_at":"2016-08-24T18:48:44Z","body":"## Meta -\r\nOS:  Windows 10\r\n\r\nSelenium Version:  3.0.0b2 (python bindings)\r\n\r\nSelenium Standalone Server Version: selenium-server-standalone-3.0.0-beta2.jar\r\n\r\nPython Version: 3.5.1\r\n\r\nBrowser:  Ha, I feel like I've installed them all, not sure what else I can do. Here's the list that I installed and the order in which I installed:\r\n- Firefox\r\n- Firefox Dev Edition\r\n- Firefox Beta\r\n\r\nBrowser Version:\r\nFirefox = After installing Firefox Beta, the version number of this browser is no longer available (not sure why this browser disappeared). The version that was present immediatly prior to the Firefox Beta install = 46.0.1\r\n\r\nFirefox Beta = 49.0b6\r\n\r\nFirefox Dev Edition = 50.0a2 (2016-08-24)\r\n\r\n\r\n## Expected Behavior -\r\nAfter hitting run or debug in my Automation project in my PyCharm IDE, my tests should run successfully as they did prior to upgrading Selenium to use capabilities['marionette'] = True. \r\n\r\nFirefox should launch, the tests should run, and after the suite is finished, Firefox should close down.\r\n\r\n## Actual Behavior -\r\nThe following error occurs:\r\n\r\n> selenium.common.exceptions.WebDriverException: Message: The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver. The latest version can be downloaded from https://github.com/mozilla/geckodriver/releases\r\nE       Stacktrace:\r\nE           at com.google.common.base.Preconditions.checkState (Preconditions.java:199)\r\nE           at org.openqa.selenium.remote.service.DriverService.findExecutable (DriverService.java:109)\r\nE           at org.openqa.selenium.firefox.GeckoDriverService.access$100 (GeckoDriverService.java:38)\r\nE           at org.openqa.selenium.firefox.GeckoDriverService$Builder.findDefaultExecutable (GeckoDriverService.java:91)\r\nE           at org.openqa.selenium.remote.service.DriverService$Builder.build (DriverService.java:296)\r\nE           at org.openqa.selenium.firefox.MarionetteDriver.setupService (MarionetteDriver.java:91)\r\nE           at org.openqa.selenium.firefox.MarionetteDriver.<init> (MarionetteDriver.java:69)\r\nE           at org.openqa.selenium.firefox.MarionetteDriver.<init> (MarionetteDriver.java:47)\r\nE           at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (None:-2)\r\nE           at sun.reflect.NativeConstructorAccessorImpl.newInstance (None:-1)\r\nE           at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (None:-1)\r\nE           at java.lang.reflect.Constructor.newInstance (None:-1)\r\nE           at org.openqa.selenium.remote.server.FirefoxDriverProvider.callConstructor (FirefoxDriverProvider.java:90)\r\nE           at org.openqa.selenium.remote.server.FirefoxDriverProvider.newInstance (FirefoxDriverProvider.java:66)\r\nE           at org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance (DefaultDriverFactory.java:60)\r\nE           at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call (DefaultSession.java:222)\r\nE           at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call (DefaultSession.java:209)\r\nE           at java.util.concurrent.FutureTask.run (None:-1)\r\nE           at org.openqa.selenium.remote.server.DefaultSession$1.run (DefaultSession.java:176)\r\nE           at java.util.concurrent.ThreadPoolExecutor.runWorker (None:-1)\r\nE           at java.util.concurrent.ThreadPoolExecutor$Worker.run (None:-1)\r\nE           at java.lang.Thread.run (None:-1)\r\n\r\n\r\n## Steps to reproduce -\r\nHere's my code that launches the browser. Am I doing something wrong in the code here, or did I find a bug?\r\n\r\n````python\r\n    import os\r\n    from selenium.webdriver.remote.webdriver import WebDriver\r\n    from selenium.webdriver.firefox.firefox_profile import FirefoxProfile\r\n    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities\r\n\r\n    class Browser(metaclass=Singleton):\r\n        \"\"\"Encapsulates Selenium functionality regarding the web browser itself. Launching, Quiting, etc.\"\"\"\r\n        def __init__(self):\r\n            self.driver = Browser.create_browser(self)\r\n\r\n        def create_browser(self):\r\n            \"\"\"Creates and returns a web browser 'driver' object.\r\n\r\n            This method launches a browser and creates the connections to remotely control it using Selenium.\r\n            \"\"\"\r\n            os.environ[\"webdriver.gecko.driver\"] = \"C:\\\\Users\\My_User\\Downloads\\Installs\\geckodriver-v0.9.0-win64\\wires.exe\"\r\n\r\n            capabilities = DesiredCapabilities.FIREFOX.copy()\r\n            capabilities['platform'] = \"WIN10\"\r\n            capabilities['marionette'] = True\r\n            capabilities['binary'] = \"C:\\Program Files (x86)\\Firefox Developer Edition\\\\firefox.exe\"\r\n\r\n            ff_profile_dir = \"C:\\\\Users\\My_User\\PycharmProjects\\Automation\\FirefoxProfile\"\r\n            ff_profile = FirefoxProfile(profile_directory=ff_profile_dir)\r\n\r\n            driver = WebDriver(command_executor='http://127.0.0.1:4444/wd/hub',\r\n                               desired_capabilities=capabilities,\r\n                               browser_profile=ff_profile)\r\n\r\n            driver.implicitly_wait(30)\r\n            return driver"},"comment":{"url":"https://api.github.com/repos/SeleniumHQ/selenium/issues/comments/242188408","html_url":"https://github.com/SeleniumHQ/selenium/issues/2660#issuecomment-242188408","issue_url":"https://api.github.com/repos/SeleniumHQ/selenium/issues/2660","id":242188408,"user":{"login":"lukeis","id":926454,"avatar_url":"https://avatars.githubusercontent.com/u/926454?v=3","gravatar_id":"","url":"https://api.github.com/users/lukeis","html_url":"https://github.com/lukeis","followers_url":"https://api.github.com/users/lukeis/followers","following_url":"https://api.github.com/users/lukeis/following{/other_user}","gists_url":"https://api.github.com/users/lukeis/gists{/gist_id}","starred_url":"https://api.github.com/users/lukeis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukeis/subscriptions","organizations_url":"https://api.github.com/users/lukeis/orgs","repos_url":"https://api.github.com/users/lukeis/repos","events_url":"https://api.github.com/users/lukeis/events{/privacy}","received_events_url":"https://api.github.com/users/lukeis/received_events","type":"User","site_admin":false},"created_at":"2016-08-24T19:56:55Z","updated_at":"2016-08-24T19:56:55Z","body":"So, with future versions of FirefoxDriver you are now required to download and put on the system path (or provide the path via environment variable) to \"geckodriver\". The executable that you download from the link in the exception message.\r\n\r\nSo in total you need 3 things for running against Firefox with python selenium bindings. 1) Firefox (you've got that). 2) selenium-webdriver pip package (looks like you got that too) 3) GeckoDriver (this is what you still need to download)"}}
{"actor":{"display_login":"lukeis"}}