Такой вопрос уже часто задавался, но не получилось разрешить по инструкциям.
Возникла потребность распараллелить несколько тестов на 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 сделать?