Selenium grid with Chrome driver (WebDriverException: The path to the driver executable must be set by the webdriver.chrome.driver system property)

0
0

I am trying to get my Selenium Grid running on Chrome driver.

At first I started hub and node:
java -jar selenium-server-standalone-2.45.0.jar -role hub
java -jar selenium-server-standalone-2.45.0.jar -role node -hub http://localhost:4444/grid/register

than I launch my test:

public class ChromeDriverTest {
private WebDriver driver = null;
String BaseURL,NodeURL;
@Before
public void before() throws Exception{
BaseURL="http://www.google.com";
NodeURL="http://localhost:4444/wd/hub";
File file = new File("C:\\Users\\pushkaryova\\Desktop\\Nexus\\driver\\chromedriver.exe");
System.setProperty("webdriver.chrome.driver", file.getAbsolutePath());
DesiredCapabilities capa =DesiredCapabilities.chrome();
capa
.setBrowserName("chrome");
capa
.setPlatform(Platform.ANY);
driver
=new RemoteWebDriver(new URL(NodeURL),capa);
}
@Test
public void GoogleSearch() throws Exception {
driver
.get("http://www.google.com");
WebElement searchBox = driver.findElement(By.xpath("//div[3]/div/input[1]"));
hightlight
(searchBox);
driver
.findElement(By.xpath("//div[3]/div/input[1]")).clear();
driver
.findElement(By.xpath("//div[3]/div/input[1]")).sendKeys("Test");
driver
.findElement(By.xpath("//button")).click();
}
public void hightlight(WebElement webElement) throws InterruptedException {
for (int i = 0; i < 2; i++) {
JavascriptExecutor js = (JavascriptExecutor) driver;
js
.executeScript(
"arguments[0].setAttribute('style', arguments[1]);",
webElement
, "color: red; border: 3px solid red;");
}
}

}

and get an error:
org.openqa.selenium.WebDriverException: The path to the driver executable must be set by the webdriver.chrome.driver system property

What is wrong in my code?

  • You must to post comments
0
0

The driver executable needs to be avaiable physically on node machine. You can set the path to exe while starting the node

Add this line in the command

-Dwebdriver.chrome.driver=./chromedriver.exe

I configure this from json file and found that’s little easier

json file with name DefaultNode.json

{
"capabilities":
[
{
"browserName": "firefox",
"maxInstances": 5,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "chrome",
"maxInstances": 5,
"seleniumProtocol": "WebDriver"
},
{
"platform": "WINDOWS",
"browserName": "internet explorer",
"maxInstances": 1,
"seleniumProtocol": "WebDriver"
}
],
"configuration":
{
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"maxSession": 5,
"port": 5555,
"host": ip,
"register": true,
"registerCycle": 5000,
"hubPort": 4444,
"hubHost": ip
}
}

To start the node with json config

java -jar selenium-server-standalone-2.45.0.jar -role webdriver -nodeConfig DefaultNode.json -Dwebdriver.ie.driver=.\IEDriverServer.exe

Notice the IEDriverServer.exe is placed in same directory with json file

  • You must to post comments
Showing 1 result
Your Answer
Post as a guest by filling out the fields below or if you already have an account.
Name*
E-mail*
Website