Отказ в подключении к запуску нескольких сред в Selenium Grid 1.04 через Ubuntu 9.04 - PullRequest
0 голосов
/ 08 марта 2010

Я пишу набор тестов селеновой сетки, который будет работать на нескольких разных машинах. Я написал большинство из них на своем MacBook, но недавно перенес его на мою рабочую машину, на которой работает Ubuntu 9.04. На самом деле это мой первый опыт работы с машиной с Linux, поэтому я могу упустить что-то очень простое (хотя я отключил брандмауэр).

Мне вообще не удалось заставить работать мультисреду, и я некоторое время пытался и вручную проверять. Буду очень признателен за любые рекомендации и помощь!

Ошибка при запуске теста:

[java] СБОЙ КОНФИГУРАЦИИ: @BeforeMethod startFirstEnvironment ("localhost", 4444, "* safari", "http://remoteURL:8080/tutor") [java] java.lang.RuntimeException: Не удалось запустить сеанс Selenium: ОШИБКА: соединение отклонено

Я подумал, что это может быть Mac, отказывающий в соединении, но, используя wireshark, я определил, что на Mac не было попыток соединения. Вот код для настройки сеанса, где он, кажется, умирает

  @BeforeMethod(groups = {"default", "example"}, alwaysRun = true)

  @Parameters({"seleniumHost", "seleniumPort", "firstEnvironment", "webSite"})
  protected void startFirstEnvironment(String seleniumHost, int seleniumPort, String firstEnvironment, String webSite) throws Exception {

 try{
startSeleniumSession(seleniumHost, seleniumPort, firstEnvironment, webSite);
session().setTimeout(TIMEOUT);

  } finally {

  closeSeleniumSession();

  }

}

@BeforeMethod(groups = {"default", "example"}, alwaysRun = true)
@Parameters({"seleniumHost", "seleniumPort", "secondEnvironment", "webSite"})

  protected void startSecondEnvironment(String seleniumHost, int seleniumPort, String    secondEnvironment, String webSite) throws Exception {
 try{
    startSeleniumSession(seleniumHost, seleniumPort, secondEnvironment, webSite); 
session().setTimeout(TIMEOUT);
    } finally {
        closeSeleniumSession();
    }
}

и прилагаемый скрипт сборки, используемый для запуска теста

  <target name="runMulti" depends="compile" description="Run Selenium tests in parallel (20 threads)">
      <echo>${seleniumHost}</echo>
   <java classpathref="runtime.classpath"
   classname="org.testng.TestNG"
   failonerror="true">

 <sysproperty key="java.security.policy" file="${rootdir}/lib/testng.policy"/>
 <sysproperty key="webSite" value="${webSite}" />
 <sysproperty key="seleniumHost" value="${seleniumHost}" />
 <sysproperty key="seleniumPort" value="${seleniumPort}" />
 <sysproperty key="firstEnvironment" value="${firstEnvironment}" />
 <sysproperty key="secondEnvironment" value="${secondEnvironment}" />
 <arg value="-d" />
 <arg value="${basedir}/target/reports" />
 <arg value="-suitename" />
 <arg value="Selenium Grid Java Sample Test Suite" />
 <arg value="-parallel"/>
 <arg value="methods"/>
 <arg value="-threadcount"/>
 <arg value="15"/>
 <arg value="testng.xml"/>
</java>

1 Ответ

0 голосов
/ 11 марта 2010

Да, я чувствую себя глупо. После значительных хлопот я понял, что изменение атрибута seleniumHost в файле сборки на IP-адрес компьютера, на котором запущен этот экземпляр selenium-RC. Иметь его в качестве локального хоста - просто сделать цикл или что-то в этом роде.

...