Similar issue here as well. Chrome was working but not Firefox. Removed geckodriver folder and tried as well.
But I did chmod 777 on geckdriver and it worked.
package frameWork;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.safari.SafariDriver;
import io.github.bonigarcia.wdm.WebDriverManager;
public class BaseClass {
public WebDriver driver;
public WebDriver initializeDriver() throws IOException {
Properties p = new Properties();
FileInputStream f = new FileInputStream("src/main/java/frameWork/data.properties");
p.load(f);
String browser = p.getProperty("browser");
if(browser.equals("chrome")) {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
} else if(browser.equals("firefox")) {
WebDriverManager.firefoxdriver().setup();
driver = new FirefoxDriver();
} else {
System.setProperty("webdriver.safari.driver","/usr/bin/safaridriver");
driver = new SafariDriver();
}
//driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
return driver;
}
}
Error
[RemoteTestNG] detected TestNG version 6.8.0 [TestNG] Running:
/private/var/folders/q1/2vf46m2546926xbq00dw66l40000gp/T/testng-eclipse-1456133345/testng-customsuite.xml
[main] INFO io.github.bonigarcia.wdm.WebDriverManager - Latest version
of [wires, geckodriver] is 0.20.0 Mar 13, 2018 10:49:44 AM
org.apache.http.client.protocol.ResponseProcessCookies processCookies
WARNING: Invalid cookie header: "Set-Cookie: logged_in=no;
domain=.github.com; path=/; expires=Sat, 13 Mar 2038 05:19:44 -0000;
secure; HttpOnly". Invalid 'expires' attribute: Sat, 13 Mar 2038
05:19:44 -0000 WARNING: An illegal reflective access operation has
occurred WARNING: Illegal reflective access by
org.rauschig.jarchivelib.FileModeMapper$FileSystemPreferencesReflectionChmodCommand
(file:/Users/basil/.m2/repository/org/rauschig/jarchivelib/0.7.1/jarchivelib-0.7.1.jar)
to method
java.util.prefs.FileSystemPreferences.chmod(java.lang.String,int)
WARNING: Please consider reporting this to the maintainers of
org.rauschig.jarchivelib.FileModeMapper$FileSystemPreferencesReflectionChmodCommand
WARNING: Use --illegal-access=warn to enable warnings of further
illegal reflective access operations WARNING: All illegal access
operations will be denied in a future release Mar 13, 2018 10:49:50 AM
org.rauschig.jarchivelib.FileModeMapper$UnixPermissionMapper chmod
WARNING: Could not set file permissions of
/Users/basil/.m2/repository/webdriver/geckodriver/macos/0.20.0/geckodriver.
Exception was: null [main] WARN io.github.bonigarcia.wdm.Downloader -
Error setting file
/Users/basil/.m2/repository/webdriver/geckodriver/macos/0.20.0/geckodriver-v0.20.0-macos.tar.gz
as executable [main] INFO io.github.bonigarcia.wdm.WebDriverManager -
Exporting webdriver.gecko.driver as
/Users/basil/.m2/repository/webdriver/geckodriver/macos/0.20.0/geckodriver-v0.20.0-macos.tar.gz
FAILED: basePageNavigation java.lang.IllegalStateException: The driver
executable does not exist:
/Users/basil/.m2/repository/webdriver/geckodriver/macos/0.20.0/geckodriver-v0.20.0-macos.tar.gz
at
com.google.common.base.Preconditions.checkState(Preconditions.java:585)
at
org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:136)
at
org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:131)
at
org.openqa.selenium.firefox.GeckoDriverService.access$100(GeckoDriverService.java:41)
at
org.openqa.selenium.firefox.GeckoDriverService$Builder.findDefaultExecutable(GeckoDriverService.java:141)
at
org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:339)
at
org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:158)
at
org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:120)
at
org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:98)
at frameWork.BaseClass.initializeDriver(BaseClass.java:32) at
frameWork.HomePage.basePageNavigation(HomePage.java:11) at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method) at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564) at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714) at
org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901) at
org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231) at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at
org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767) at
org.testng.TestRunner.run(TestRunner.java:617) at
org.testng.SuiteRunner.runTest(SuiteRunner.java:334) at
org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) 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:1198) at
org.testng.TestNG.runSuitesLocally(TestNG.java:1123) at
org.testng.TestNG.run(TestNG.java:1031) at
org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)