#java #android #ios #selenium #appium
Вопрос:
Я ищу способ работать с одним водителем, для Android и iOS устройств, например, теперь, если я начну с iOS = IOSDriver<MobileElement> driver;
и разблокировать мое устройство например, чем мой код driver = new IOSDriver<>(url, dc);
и driver.unlockDevice();
для Android одинаково, но если водитель будет AppiumDriver driver;
код не будет работать на driver.unlockDevice();
так какие есть варианты для работы с Android и iOS в одном водителя?
Ответ №1:
Это POC — и с этим не очень хорошо справляются. Просто для беглого взгляда.
И… Я не уверен в драйвере iOS — если он вообще может справиться с разблокировкой устройства — возможно, только на симуляторах…
public static AppiumDriver<MobileElement> driver;
public static DesiredCapabilities iosCaps;
public static DesiredCapabilities androidCaps;
public void caps() {
iosCaps = new DesiredCapabilities();
iosCaps.setCapability("deviceName", "iPhone 5");
androidCaps = new DesiredCapabilities();
androidCaps.setCapability("deviceName", "Samsung X");
}
protected void startDriver() throws MalformedURLException {
caps();
if (device == android) {
driver = new AndroidDriver<>(new URL("appium url"), androidCaps);
} else if (device == ios) {
driver = new IOSDriver<>(new URL("appium url"), iosCaps);
}
}
public void iosLock() {
((IOSDriver) driver).lockDevice();
((IOSDriver<MobileElement>) driver).lockDevice();
}
public void androidLock() {
((AndroidDriver) driver).lockDevice();
}