Estevao FPM
Estevao FPM

Reputation: 111

Selenium (chromedriver) in MAC

I have the following problem/question: I was with notebook automation. Now I bought an ultrabook MAC.

I did all the project import with automation, all right. However, when I run it, I get the following error:

java.lang.IllegalStateException: The driver executable does not exist: /Users/estevaomarcos/Documents/Projetos/DBServer/\Users\chromedriver

In my code is the following:

System.setProperty("webdriver.chrome.driver", "\\Users\\chromedriver");
WebDriver browser = new ChromeDriver(); .....

Upvotes: 1

Views: 2482

Answers (2)

Gregory Ikhsanov
Gregory Ikhsanov

Reputation: 1

  1. In a code based on operating system you should initialise new ChromeDriver after System.setProperty setup only.
  2. user.home is correct option - NOT "usr" Finally it works(java) great when looks like this:

String os = System.getProperty("os.name").toLowerCase();
if (os.contains("mac")) {
  System.setProperty("webdriver.chrome.driver", System.getProperty("user.home") + System.getProperty("file.separator") + "chromedriver");
} else {
  System.setProperty("webdriver.chrome.driver", System.getProperty("user.home") + System.getProperty("file.separator") + "chromedriver.exe");
}
WebDriver driver = new ChromeDriver();

Upvotes: 0

Set Driver Path: To avoid manual checking for the operating system we can get the file separator symbol from the system property using the file.separator key.

System.setProperty("webdriver.chrome.driver", "Users" + System.getProperty("file.separator") + "chromedriver");
WebDriver browser = new ChromeDriver();
browser.get("test.com"); 

Setting driver path based on which Operating System(OS) we are running on.

String os = System.getProperty("os.name").toLowerCase();
            WebDriver driver = new ChromeDriver();
            if(os.contains("mac")) { 
                System.setProperty("webdriver.chrome.driver", System.getProperty("usr.home") + System.getProperty("file.separator") + "chromedriver");
            }else {
                System.setProperty("webdriver.chrome.driver", System.getProperty("usr.home") + System.getProperty("file.separator") + "chromedriver.exe");
            }

Upvotes: 2

Related Questions