Перейти к содержимому

Black_Diamond

Регистрация: 05 ноя 2010
Offline Активность: 08 ноя 2010 12:14
-----

Мои темы

Selenium Grid (parallel testing)

05 ноября 2010 - 11:24

Доброго времени суток! Возможно не вовремя, но горит вопрос про параллельный запуск скрипта в нескольких браузерах.

Используемая версия Selenium Grid - 1.0.8.
Используемая версия PHPUnit - 3.4.9.
Пока что пытаюсь работать только под одной системой - Windows 7, далее пойдут и виртуалки с разными версиями браузеров

Содержимое build.xml из Selenium Grid в аттаче (попытался его изменить согласно мануалу на http://selenium-grid...and-tuning.html, но безуспешно, скрипт запускается последовательно в указанных браузерах).

Порядок запуска приложений:
1) Запуск HUB (Содержимое батника, который запускает HUB - ant -f D:\seleniumgrid\build.xml launch-hub);
2) Запуск RC для FF (Содержимое батника, который запускает RC для FF - ant -f D:\seleniumgrid\build.xml -Dport=5565 -Dhost=http://localhost -Denvironment="*firefox" -DhubURL=http://localhost:1234 launch-remote-control)
3) Запуск RC для Chrome (Содержимое батника, который запускает RC для FF - ant -f D:\seleniumgrid\build.xml -Dport=5566 -Dhost=http://localhost -Denvironment="*googlechrome" -DhubURL=http://localhost:1234 launch-remote-control)
4) Запуск RC для IE (Содержимое батника, который запускает RC для FF - ant -f D:\seleniumgrid\build.xml -Dport=5567 -Dhost=http://localhost -Denvironment="*iexplore" -DhubURL=http://localhost:1234 launch-remote-control)
5) Запуск RC для Safari (Содержимое батника, который запускает RC для FF - ant -f D:\seleniumgrid\build.xml -Dport=5568 -Dhost=http://localhost -Denvironment="*safari" -DhubURL=http://localhost:1234 launch-remote-control)
6) В командной строке - phpunit RegTest.php
(Начальное содержимое файла RegTest.php:

<?php
require_once 'D:\PHP\PEAR\PHPUnit\Extensions\SeleniumTestCase.php';

class RegTest extends PHPUnit_Extensions_SeleniumTestCase
{
public static $browsers = array(
array (
'browser' => '*firefox',
'timeout' => 30000,
'port' => 5565,
),
array (
'browser' => '*safari',
'timeout' => 30000,
'port' => 5568,
),
array (
'browser' => '*iexplore',
'timeout' => 30000,
'port' => 5567,
),
array (
'browser' => '*googlechrome',
'timeout' => 30000,
'port' => 5566,
));

function setUp() {
//чтение домена/браузера
$h = fopen("urls.csv", "r");
while($data = fgetcsv($h,0,";"))
{
$domen = $data[0];
$browser = $data[1];
break;
fclose($h);
$this->setBrowserUrl("$domen");
// $this->setBrowser("*iexplore");
// $this->setBrowserUrl("http://www.match.com");
}
}

function tearDown() {
}

и т.д.

Сам по себе код RegTest.php в Selenium RC отрабатывает успешно, а вот с Selenium Grid есть проблемы - не могу запустить тест параллельно в разных браузерах. Пока один тест полностью не пройдет в одном браузере, во втором он не запустится)

Также была замечена еще одна проблема во время запуска Selenium RC из-под Selenium Grid - [java] WARNING: Unregistering unreliable RC [RemoteControlProxy http://localhost:5566#false], и так на каждом. Прошу помочь мне советом, как откорректировать Grid, чтобы он мог запускать тесты параллельно? Заранее благодарен.