Здравствуйте друзья .
В первые мне нужно написать авто тесты для приложения написаного в React Native.
Мне нужно написать код который будет работать для обеих платформ используя Java и JUnit.
Написал две функции, первая держит DesiredCapabilities для Android, вторая для IOS.
Каждая возвращает новый драйвер :
для Андроид - return driver = new AndroidDriver(new URL("http://0.0.0.0:4723/wd/hub"), cap);
и для IOS - return driver = new IOSDriver(new URL("http://0.0.0.0:4723/wd/hub"), cap);
Тепер вопрос.
Допустим я подключу физический дивайс к компьютеру , не важно андроид или IOS,
Как перед запуском все тестов "Run All Tests" сделать проверку какой дивайс подключен?
Не разу не работал с двумя драйверами и инфу не нашел в инете .
Вот код :
AppiumDriver driver;
public AppiumDriver getAndroidDriver() throws MalformedURLException {
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "dac0bec9");
cap.setCapability("platformName", "Android");
cap.setCapability("platformVersion", "9");
cap.setCapability("appPackage", "");
cap.setCapability("appActivity", "");
cap.setCapability(MobileCapabilityType.BROWSER_NAME, "");
cap.setCapability("automationName", "UiAutomator2");
cap.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS, true);
cap.setCapability(MobileCapabilityType.NO_RESET, true);
cap.setCapability(MobileCapabilityType.FULL_RESET, false);
return driver = new AndroidDriver(new URL("http://0.0.0.0:4723/wd/hub"), cap);
}
public AppiumDriver getIOSDriver() throws MalformedURLException {
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.PLATFORM_VERSION, "9.3");
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone 6");
cap.setCapability(MobileCapabilityType.AUTOMATION_NAME, "XCUITEST");
cap.setCapability(MobileCapabilityType.BROWSER_NAME, "");
cap.setCapability(MobileCapabilityType.UDID, "");
return driver = new IOSDriver(new URL("http://0.0.0.0:4723/wd/hub"), cap);
}
public AppiumDriver getAndroidDriver() throws MalformedURLException {
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "dac0bec9");
cap.setCapability("platformName", "Android");
cap.setCapability("platformVersion", "9");
cap.setCapability("appPackage", "");
cap.setCapability("appActivity", "");
cap.setCapability(MobileCapabilityType.BROWSER_NAME, "");
cap.setCapability("automationName", "UiAutomator2");
cap.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS, true);
cap.setCapability(MobileCapabilityType.NO_RESET, true);
cap.setCapability(MobileCapabilityType.FULL_RESET, false);
return driver = new AndroidDriver(new URL("http://0.0.0.0:4723/wd/hub"), cap);
}
public AppiumDriver getIOSDriver() throws MalformedURLException {
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.PLATFORM_VERSION, "9.3");
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone 6");
cap.setCapability(MobileCapabilityType.AUTOMATION_NAME, "XCUITEST");
cap.setCapability(MobileCapabilityType.BROWSER_NAME, "");
cap.setCapability(MobileCapabilityType.UDID, "");
return driver = new IOSDriver(new URL("http://0.0.0.0:4723/wd/hub"), cap);
}