Я использую appium (v1.10.0) для автоматизации нативного приложения iOS на macOS (10.13.6) с использованием Xcode 10.1 на реальном устройстве (iPhone 6s) платформы версии 12.1.3.Когда я запускаю appium server и запускаю сессию, приложение откроется на устройстве.Как только я запускаю код в eclipse для отправки имени пользователя на страницу входа в приложение, мобильная клавиатура не открывается и, следовательно, sendkeys () не работает.
Пробовал getKeyboard () перед sendkeys ().Тем не менее ошибка существует.Ниже приведен код, который я попробовал.
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability("device", "iPhone");
cap.setCapability("deviceName", "iPhone 6s");
cap.setCapability("platformVersion", "12.1.3");
cap.setCapability("platformName", "iOS");
cap.setCapability("app","/Users/TP/Desktop/SampleApp.ipa" );
cap.setCapability("udid", "xxxxxxxxxxxxxxxxxxx");
cap.setCapability("automationName", "XCUITest");
cap.setCapability("xcodeOrgId", "xxxxxxxx");
cap.setCapability("xcodeSigningId", "xxxxxxxx");
driver = new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);
driver.findElement(By.xpath("//XCUIElementTypeApplication[@name=\"TBI\"]")).click();
driver.getKeyboard().sendKeys("abc");
Мобильная клавиатура не открывается и, следовательно, выдает следующую ошибку.
org.openqa.selenium.WebDriverException: неизвестная ошибка на стороне сервера при обработке команды.
Исходная ошибка: Ошибка Domain = com.facebook.WebDriverAgent Code = 1 "Поддерживаются только действия типа« указатель ». Вместо действия указывается« ключ »для действия с идентификатором« клавиатура »« UserInfo = {NSLocalizedDescription =Поддерживаются только действия типа указателя.вместо действия указывается «ключ» с идентификатором «клавиатура»}