Добрый день.
Задача- протестировать веб приложение на разных платформах и браузерах.
1) на Windows 7 (он же hub) Запускаются тесты. тесты написаны на java (Eclipse, запускаются через TestNG для распараллеливания тестов).
Запускаю
java -jar selenium-server-standalone-3.0.1.jar -role hub -port 4444
Создается хаб.
2) Для эксперементов имеется виртуальные машины:
а) Windows 7 и браузеры. Запускаются ноды:
java -jar selenium-server-standalone-3.0.1.jar -role webdriver -hub http://IPHab:4444/grid/register -browser browserName=chrome -port 5557 java -jar selenium-server-standalone-3.0.1.jar -role webdriver -hub http://IPHab:4444/grid/register -browser browserName=firefox -port 5558
3) Mac OSx сафари браузер:
java -jar selenium-server-standalone-3.0.1.jar -role node webdriver -hub http://IPHab:4444/grid/register -browser browserName=safari -port 5559
Все тесты работают на этих виртуалках.
4) Имеется Ubuntu, на ней установлен Android SDK.
Настроен тестовый эмулятор андроид - он имеет внутренний адрес - 10.0.2.15 и порт 5556
Я пробрасываю порты на 5555
adb tcpip 5555
и вроде как мой эмулятор должен отвечать на htttp://localhost:5555
Вопросы следующие:
1) Возможно ли использовать такую связку? в качестве нода и хаба selenium-server-standalone-3.0.1 ?
2) Если на Ubuntu использовать selendroid в качестве нода, с файлом selendroid-nodes-config.json
{ "capabilities": [{ "browserName": "selendroid", "maxInstances": 1, "aut": "io.selendroid.testapp:0.17.0" }, { "browserName": "android", "maxInstances": 1 }], "configuration": { "maxSession": 1, "register": true, "hubHost": "IPHab", "hubPort": 4444, "remoteHost": "http://localhost:5555", "proxy": "io.selendroid.grid.SelendroidSessionProxy" } }
Подключаясь к хабу
url -H "Content-Type: application/json" -X POST --data @selendroid-nodes-config.json http://IPHub:4444/grid/register
пример выбор драйвера для тестов уже на Win 7
public static RemoteWebDriver getDriver(String browser) throws MalformedURLException { return new RemoteWebDriver(new URL("http://IPHab:4444/wd/hub"), getBrowserCapabilities(browser)); } private static DesiredCapabilities getBrowserCapabilities(String browserType) { switch (browserType) { case "firefox": System.out.println("Opening Firefox driver"); return DesiredCapabilities.firefox(); case "chrome": System.out.println("Opening Chrome driver"); return DesiredCapabilities.chrome(); case "IE": System.out.println("Opening IE driver"); return DesiredCapabilities.internetExplorer(); case "safari": System.out.println("Opening Safari driver"); return DesiredCapabilities.safari(); case "android": System.out.println("Opening Android driver"); return DesiredCapabilities.android(); default: System.out.println("browser : " + browserType + " is invalid, Launching Firefox as browser of choice.."); return DesiredCapabilities.firefox(); } } } }
ничего не получается с подключением к андроид..
Может быть вообще это по другому всё должно работать? Обьясните новичку пожалуйста.
Спасибо!