Как добиться выполнения Robot Framework Параллельное выполнение теста на двух разных машинах? - PullRequest
0 голосов
/ 05 июля 2018

Я автоматизирую веб-приложение, используя RobotFramework с selenium2library.

Я ищу параллельное выполнение двух разных наборов тестов на двух разных машинах одновременно.

Я пробовал pabot для параллельного выполнения. Если я запускаю 3 экземпляра параллельно на одном компьютере, он работает. Но я хочу запустить его на разных машинах, для этого я попробовал следующий код: -

сначала я запускаю концентратор

java -jar <selenium.jar> -role hub 

(необязательный порт f.e .: -port 4444)

Затем я запускаю узлы:

java -jar <selenium.jar> -role webDriver (for selenium 2 library) -hub http://<selenium hub ip>:4444/grid/register 

(необязательный параметр remoteHost, например: -remoteHost http://127.0.0.1:5555) Узлы можно запускать отдельно и указывать с помощью дополнительного параметра -remoteHost. Этот хост можно использовать в ключевом слове селена Open Browser

Открыть браузер | URL | browser = ff | псевдоним = нет | remote_url = False Пример:

${REMOTE_DRIVER}=    Set Variable    127.0.0.1:5555/wd/hub   
Open Browser    www.google.com    ff    None    ${REMOTE_DRIVER}

Но после этого костюмы запускаются на разных машинах один за другим, а не параллельно.

Есть ли способ добиться этого.

1 Ответ

0 голосов
/ 05 июля 2018

Для параллельного запуска пакетов необходимо два компонента:

  1. Селеновая сетка или другая централизованная сетка ниже ( SauceLabs , Zalenium , Aerokube Selenoid).
  2. Параллельный исполнитель ( Pabot )

Natively Robot Framework поддерживает запуск только 1 комплекта одновременно. По расширению это означает, что любой сценарий робота, использующий Selenium, будет иметь одновременно только 1 комплект. Для распараллеливания вам нужно будет запустить несколько экземпляров Robot Framework параллельно.

Проект Pabot представляет собой отдельное приложение, которое запускает отдельный экземпляр инфраструктуры робота для каждого пакета (файла). В конце он объединяет все отдельные журналы в один файл журнала. У него есть еще несколько функций, но это ядро.

Из вашего описания я понимаю, что настройка Grid, в которой несколько узлов успешно соединились. Если это так, то для использования узлов достаточно использовать URL-адрес Grid-сервера для подключения к браузеру.

Убедитесь, что количество параллельных процессов Pabot (это параметр) не превышает количество доступных узлов Selenium.

...