2013-11-28 1 views
1

Я хаб и узел работает, и я пытаюсь запустить тест на узле хром браузер, но это сбой с ошибкой: The path to the driver executable must be set by the webdriver.chrome.driver system property;Невозможно запустить хром, то есть на узел с помощью Selenium сетки

Но я установить его. Ниже приводится код, который я использую:

package seleniumgridpackage; 

import java.io.File; 
import java.net.MalformedURLException; 
import java.net.URL; 

import org.openqa.selenium.Platform; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.ie.InternetExplorerDriver; 
import org.openqa.selenium.remote.DesiredCapabilities; 
import org.testng.Assert; 
import org.testng.annotations.AfterTest; 
import org.testng.annotations.BeforeTest; 
import org.testng.annotations.Test; 
import org.openqa.selenium.remote.RemoteWebDriver; 


public class SeleniumGridTest { 
    WebDriver driver; 
    String baseUrl = "http://www.google.com"; 
    String expectedTitle = "Google"; 

    @BeforeTest 
    public void setUp() throws MalformedURLException { 
     File file = new File("C://Drivers//chromedriver.exe"); 
     //File file = new File("C://Drivers//IEDriverServer.exe"); 
     System.setProperty("webdriver.chrome.driver", file.getAbsolutePath()); 

     DesiredCapabilities cap = DesiredCapabilities.chrome(); 
     cap.setBrowserName("chrome"); 
     cap.setPlatform(Platform.VISTA); 
     driver = new RemoteWebDriver(new URL("http://x.x.x.x:5566/wd/hub"), cap); 

    } 

    @Test 
    public void test(){ 
     driver.get(baseUrl); 
     Assert.assertEquals(driver.getTitle(), expectedTitle); 
    } 

    @AfterTest 
    public void tearDown(){ 
     driver.quit(); 
    } 
} 

Примечание: Я положил chromedriver.exe в C://Drivers папку как узла и ступицей. Сэм происходит, когда я пытаюсь с IE

Пожалуйста, помогите мне понять, что я делаю неправильно.

ответ

2

Все в порядке, как вы начинаете узел. Итак, сначала сделайте обычный:

java -jar -jar selenium-server-standalone-2.20.0.jar -role hub 

Затем запустите узел так:

java -jar lib/selenium-server-standalone-2.20.0.jar -role webdriver -hub http://localhost:4444/grid/register -browser browserName="chrome",version=ANY,platform=WINDOWS,maxInstances=5 -Dwebdriver.chrome.driver=lib\chromedriver.exe 

более конкретно: Вы должны запустить NODE с параметром browser и добавить -D параметр, указав полный путь к chromedriver

Моя огромная благодарность Джону Naegle, который ответил здесь на SO относительно исследователь интернета подобный вопрос - см here

+0

Спасибо, Павел! Это сработало!! – TDHM

1

Я пробовал различные комбинации и, наконец, обнаружил, что свойство необходимо установить во время выполнения.

начать использование узла: Это будет работать для светлячок

 
java -jar sel2.40.jar -role node -hub http://locahost:4443/grid/register -port 5556 

Чтобы запустить узел для IE, необходимо указать системное свойство webdriver.ie.driver при запуске узла:

 
java -Dwebdriver.ie.driver="D:\IEDriverServer.exe" -jar sel2.40.jar -role node -hub http://locahost:4443/grid/register -port 5556 
Смежные вопросы