Как я могу использовать Селен сетки 2 с PHP WebDriver? - PullRequest
1 голос
/ 31 января 2012

у меня запущен концентратор селена grid2 и подключены 2 узла (узел a и узел b). Как я могу их использовать? Как запустить тестирование более чем на одном узле одновременно? У меня такое чувство, что я упускаю что-то очевидное.

, если пытались это сделать:

phpunit tests/phpunit/GUI/

есть 2 тестовых случая (RegTest, LoginTest), которые выполняются (последовательно), но только на одном узле. (узел а) ко второму узлу не прикасались один раз.

что мне не хватает?

node a (ubuntu) java -jar selenium-server-standalone-2.18.0.jar -role node  -hub http://localhost:4444/grid/register
node b (xp) java -jar selenium-server-standalone-2.18.0.jar -role node  -hub http://localhost:4444/grid/register

на обоих узлах установлен Firefox. я подключаюсь к концентратору, используя этот вызов:

$this->oWebDriver = new WebDriver( self::SELENIUM_SERVER, self::SELENIUM_SERVER_PORT);
$this->oWebDriver->connect('firefox');

этот php webdriver: http://code.google.com/p/php-webdriver-bindings/

1 Ответ

1 голос
/ 14 февраля 2012

так вот мы и через 2 недели. С некоторым расширенным чтением и большим умственным потенциалом я смог понять это для себя.

Вы можете легко использовать более одного узла, начиная более одного теста phpunit одновременно. Проблема в том, что тесты phpunit (3.6) в значительной степени выполняются один за другим. Вы можете использовать муравей (или аналогичные инструменты), чтобы обойти эту проблему. Как вы можете видеть здесь: http://jenkins -php.org /

вы можете использовать <parallel threadCount="2"> для запуска параллельных задач, которые могут быть тестами phpunit. Тем не менее, есть вероятность, что не каждый тест подходит для параллельной работы (например, если вы загружаете приборы в свою базу данных с помощью метода setUp)

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

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

Проблема здесь в том, что платформа является полем ENUM, и вы должны использовать его ограниченные значения для описания вашего noced (LINUX, MAX, VISTA, WINDOWS, XP), где нет W7, а WINDOWS очень жадный. Если у вас 2 узла, один с XP и один с WINDOWS, и вы установили WINDOWS в своих возможностях, есть шанс, что хаб выберет XP (так как это платформа WINDOWS), так что имейте это в виду.

.. я думаю, это все, что я бы просил 2 недели назад (-;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...