Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot find firefox binary in PATH. Make sure firefox is installed

In Selenium Grid I am trying to execute a simple program and I'm getting Cannot find firefox binary in PATH though I have added the binary path in my code.
My code and the error are given below. Kindly need help. Thanks in advance.


Code

package Sample; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.Platform; import org.openqa.selenium.WebDriver; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.annotations.Test; import org.testng.annotations.BeforeTest; import org.testng.annotations.AfterTest; public class sample1 {      WebDriver driver;      String  BaseURL,NodeURL; @BeforeTest   public void beforeTest() throws MalformedURLException {      BaseURL="www.google.com";      NodeURL="http://192.168.10.162:5566/wd/hub";      DesiredCapabilities capa =DesiredCapabilities.firefox();      capa.setBrowserName("firefox");      capa.setCapability("binary", "C:\\Users\\praveenraj.d\\AppData\\Local\\Mozilla Firefox\\firefox.exe");      capa.setPlatform(Platform.ANY);      driver=new RemoteWebDriver(new URL(NodeURL),capa);   }    @Test   public void f() throws InterruptedException {       driver.get(BaseURL);       System.out.println(driver.getTitle());       Thread.sleep(50000);   }   @AfterTest   public void afterTest() {       driver.quit();   }  } 


Error

[TestNG] Running:   C:\Users\praveenraj.d\AppData\Local\Temp\testng-eclipse-1233453386\testng-customsuite.xml  FAILED CONFIGURATION: @BeforeTest beforeTest org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: WIN8 Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15' System info: host: 'IN-IF-WS1-0154', ip: '192.168.10.162', os.name: 'Windows 8', os.arch: 'amd64', os.version: '6.2', java.version: '1.7.0_07' Driver info: driver.version: FirefoxDriver Command duration or timeout: 97 milliseconds Build info: version: '2.31.0', revision: '1bd294d', time: '2013-02-27 20:53:56' System info: os.name: 'Windows 8', os.arch: 'x86', os.version: '6.2', java.version: '1.7.0_13' Driver info: org.openqa.selenium.remote.RemoteWebDriver     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)     at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)     at java.lang.reflect.Constructor.newInstance(Unknown Source)     at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:187)     at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)     at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:554)     at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:216)     at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:111)     at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:129)     at Sample.sample1.beforeTest(sample1.java:28)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)     at java.lang.reflect.Method.invoke(Unknown Source)     at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)     at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:564)     at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)     at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)     at org.testng.TestRunner.beforeRun(TestRunner.java:641)     at org.testng.TestRunner.run(TestRunner.java:609)     at org.testng.SuiteRunner.runTest(SuiteRunner.java:335)     at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:330)     at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)     at org.testng.SuiteRunner.run(SuiteRunner.java:240)     at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)     at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)     at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)     at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)     at org.testng.TestNG.run(TestNG.java:1057)     at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)     at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)     at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175) Caused by: org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: WIN8 Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15' System info: host: 'IN-IF-WS1-0154', ip: '192.168.10.162', os.name: 'Windows 8', os.arch: 'amd64', os.version: '6.2', java.version: '1.7.0_07' Driver info: driver.version: FirefoxDriver Build info: version: '2.31.0', revision: '1bd294d', time: '2013-02-27 20:53:56' System info: os.name: 'Windows 8', os.arch: 'x86', os.version: '6.2', java.version: '1.7.0_13' Driver info: driver.version: FirefoxDriver     at org.openqa.selenium.firefox.internal.Executable.<init>(Executable.java:72)     at org.openqa.selenium.firefox.FirefoxBinary.<init>(FirefoxBinary.java:59)     at org.openqa.selenium.firefox.FirefoxBinary.<init>(FirefoxBinary.java:55)     at org.openqa.selenium.firefox.FirefoxDriver.getBinary(FirefoxDriver.java:182)     at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:107)     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)     at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)     at java.lang.reflect.Constructor.newInstance(Unknown Source)     at org.openqa.selenium.remote.server.DefaultDriverFactory.callConstructor(DefaultDriverFactory.java:62)     at org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance(DefaultDriverFactory.java:56)     at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:216)     at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:1)     at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)     at java.util.concurrent.FutureTask.run(Unknown Source)     at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:170)     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)     at java.lang.Thread.run(Unknown Source)  SKIPPED CONFIGURATION: @AfterTest afterTest SKIPPED: f  ===============================================     Default test     Tests run: 1, Failures: 0, Skips: 1     Configuration Failures: 1, Skips: 1 ===============================================   =============================================== Default suite Total tests run: 1, Failures: 0, Skips: 1 Configuration Failures: 1, Skips: 1 ===============================================  [TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@93b52b: 27 ms [TestNG] Time taken by org.testng.reporters.jq.Main@3ba002: 22 ms [TestNG] Time taken by org.testng.reporters.EmailableReporter2@fa930d: 6 ms [TestNG] Time taken by org.testng.reporters.JUnitReportReporter@1f9c5c8: 6 ms [TestNG] Time taken by org.testng.reporters.XMLReporter@197f158: 6 ms [TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 4 ms 
like image 951
user2307574 Avatar asked Jan 06 '14 13:01

user2307574


People also ask

Can not find Firefox binary in path?

If you have installed Firefox at a custom location, uninstall existing firefox and install it at a default location. Your firefox should be under "Program Files (x86)" NOT "Program Files" or any other custom location.

How do I find my Firefox path?

Firefox would normally be installed in one of these locations: (64-bit Firefox) "C:\Program Files\Mozilla Firefox\" (32-bit Firefox) "C:\Program Files (x86)\Mozilla Firefox\"

Where is Firefox binary Linux?

To run the version installed with your package manager, you will need to execute the binary from a terminal. To do so in most distributions, open a terminal and type: /usr/bin/firefox .

How do I set the path for Firefox drivers?

setproperty(“webdriver. gecko. driver”,Path_of_Firefox_Driver”); method to set the path of the Firefox Driver(GeckoDriver). Then it has created an object of Firefox Driver to instantiate the Mozilla Firefox browser and execute the test cases.


2 Answers

File pathToBinary = new File("C:\\user\\Programme\\FirefoxPortable\\App\\Firefox\\firefox.exe"); FirefoxBinary ffBinary = new FirefoxBinary(pathToBinary); FirefoxProfile firefoxProfile = new FirefoxProfile();        WebDriver driver = new FirefoxDriver(ffBinary,firefoxProfile); 
like image 174
Achille Avatar answered Sep 28 '22 02:09

Achille


Another option is to configure the server rather than the test client.

Configure the slave node service so that it knows where the firefox is. Install location can change from node to node, or even need multiple services running on a node to support access to different versions of FF.

java -jar "selenium-server-standalone-2.2.0.jar"  -Dwebdriver.firefox.bin="C:\FirefoxCollection\Mozilla Firefox 36.0\firefox.exe" 
like image 35
Greg Domjan Avatar answered Sep 28 '22 03:09

Greg Domjan