import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import java.io.IOException;
import java.net.URL;
public class FirefoxOptionsDebug {
private RemoteWebDriver driver;
private String firefox = "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe";
@BeforeClass
public void beforeClass() throws IOException {
String grid = "192.168.241.131";
DesiredCapabilities caps = DesiredCapabilities.firefox();
FirefoxOptions options = new FirefoxOptions();
options.setBinary(firefox);
caps.setCapability(FirefoxOptions.FIREFOX_OPTIONS, options);
driver = new RemoteWebDriver(new URL(String.format("http://%s:4444/wd/hub", grid)), caps);
}
@Test
public void testMethod() {
driver.get("http://www.google.com");
}
@AfterClass
public void afterClass() {
driver.quit();
}
}
I am getting error message as
java.lang.IllegalStateException: Specified firefox binary location does not exist or is not a real file: C:\Program Files (x86)\Mozilla Firefox\firefox.exe
at com.google.common.base.Preconditions.checkState(Preconditions.java:444)
at org.openqa.selenium.firefox.internal.Executable.<init>(Executable.java:46)
at org.openqa.selenium.firefox.FirefoxBinary.<init>(FirefoxBinary.java:162)
at org.openqa.selenium.firefox.FirefoxOptions.getBinaryOrNull(FirefoxOptions.java:202)
at org.openqa.selenium.firefox.FirefoxOptions.toString(FirefoxOptions.java:590)
at java.lang.String.valueOf(String.java:2994)
at org.openqa.selenium.remote.DesiredCapabilities.shortenMapValues(DesiredCapabilities.java:279)
at org.openqa.selenium.remote.DesiredCapabilities.toString(DesiredCapabilities.java:268)
at com.google.common.base.Joiner.toString(Joiner.java:455)
It seems that FF Binary is not readable
I tried to give all permissions to said folder, however with no luck.