t.me/atinfo_chat Telegram группа по автоматизации тестирования

Параллельное выполнение нескольких тестов

infrastructure
execution
selenium
webdriver
python
Теги: #<Tag:0x00007f9c4c9845c8> #<Tag:0x00007f9c4c984348> #<Tag:0x00007f9c4c984208> #<Tag:0x00007f9c4c9840a0> #<Tag:0x00007f9c4c98bee0>

(Алина Трусова) #1

Такой вопрос уже часто задавался, но не получилось разрешить по инструкциям.
Возникла потребность распараллелить несколько тестов на 2-3 удалённые машины
Решила для этого использовать selenium grid. Настройки для хаба и нодов прикладываю:

//hub.bat
java -jar selenium-server-standalone.jar -role hub

//node.bat
java -Dwebdriver.chrome.driver="C:\\chromedriver.exe" -jar   selenium-server-standalone.jar -role node -nodeConfig nodeConfig.json
pause

//nodeConfig.json
{
  "capabilities":
      [
     {
          "browserName": "chrome",
          "maxInstances": 5,
          "seleniumProtocol": "WebDriver",
		  "version": "11"
        }
      ],
    "maxSession": 15,
    "port": 7671, 
    "host": host,
    "register": true,
    "registerCycle": 5000,
    "hubPort": 4444,
    "hubHost": test-machine
}

В jenkins прописала для запуска тестов следующее:

    FOR /L %%A IN (1,1, 2) DO (
    python test1.py
    python test2.py
    python test3.py
    python test4.py
    )

Когда запускаю сборку, первый тест запускается на первой ноде, второй запускается только после завершения первого на второй ноде, а мне же нужно чтобы запускались тесты параллельно на двух разных нодах (2 удалённые машины) . Подскажите, пожалуйста.
Это лучше через потоки и multiprocessing сделать?