【发布时间】:2019-01-30 05:39:18
【问题描述】:
我正在使用 appium (v1.10.0) 在平台版本 12.1.3 的真实设备 (iPhone 6s) 上使用 Xcode 10.1 在 macOS(10.13.6) 上自动化 iOS 原生应用程序。当我启动 appium 服务器并启动会话时,该应用程序将在设备中打开。一旦我在 eclipse 中运行代码将用户名发送到应用程序的登录页面,移动键盘就没有打开,因此 sendkeys() 不起作用。
在 sendkeys() 之前尝试了 getKeyboard()。错误仍然存在。下面是我试过的代码。
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:处理命令时发生未知的服务器端错误。
原始错误:错误域 = com.facebook.WebDriverAgent 代码 = 1“仅支持‘指针’类型的操作。为 ID 为‘键盘’的操作提供‘键’” UserInfo={NSLocalizedDescription=仅操作支持“指针”类型。 'key' 被赋予 id 'keyboard'}
【问题讨论】: