org.openqa.selenium.WebDriverException:尝试对iOS本机元素执行操作时尚未实现方法错误

时间:2016-10-16 12:00:57

标签: ios macos selenium appium appium-ios

在iOS本机元素上执行操作(单击,清除,发送密钥等)时,尚未实现方法错误。但是findElement工作得很好

仅针对iOS发生,适用于Android。

目前的背景是NATIVE_APP

相同的代码和设备在另一台机器上完美运行。

DesiredCapabilities cap = new DesiredCapabilities();

cap.setCapability("platformName", "ios");

cap.setCapability("platformVersion", "9.2");

cap.setCapability("deviceName", "ipad");        

cap.setCapability("udid", <my device's  UDID>);     

cap.setCapability("app", "/Users/syscotester/Documents/APP/App.ipa");

WebDriver  driver = new IOSDriver<>(new URL("http://127.0.0.1:4724/wd/hub"),cap);
driver.findElement(By.xpath("//UIAWebView[1]/UIATextField[1]"));

elm.click();

例外是elm.click();行

到昨天工作正常;但突然停止了工作。 请帮忙

堆栈跟踪:

  

线程中的异常&#34; main&#34; org.openqa.selenium.WebDriverException:方法尚未实现(警告:服务器未提供任何堆栈跟踪信息)   命令持续时间或超时:25毫秒   构建信息:版本:&#39; 2.53.1&#39;,修订版:&#39; a36b8b1&#39;,时间:&#39; 2016-06-30 17:37:03&#39;   系统信息:主持人:&#39; TVMATP285575M&#39;,ip:&#39; 10.155.190.189&#39;,os.name:&#39; Mac OS X&#39;,os.arch:&#39 ; x86_64&#39;,os.version:&#39; 10.11.5&#39;,java.version:&#39; 1.8.0_101&#39;   驱动程序信息:io.appium.java_client.ios.IOSDriver   功能[{app = / Users / syscotester / Documents / APP / UOMQASQ.ipa,networkConnectionEnabled = false,databaseEnabled = false,deviceName = Parvathy&#39; ipad,platform = MAC,showIOSLog = true,desired = {app = / Users /syscotester/Documents/APP/UOMQASQ.ipa,showIOSLog = true,platformVersion = 9.2,platformName = iOS,udid = da85ce3eac13bf4d19b627ee3c1ac02a2b9a2bfe,deviceName = Parvathy&#i; ipad},platformVersion = 9.2,webStorageEnabled = false,locationContextEnabled = false,browserName =,takesScreenshot = true,javascriptEnabled = true,platformName = iOS,udid = da85ce3eac13bf4d19b627ee3c1ac02a2b9a2bfe}]   会话ID:8d5cb461-e7ab-4745-ab6e-1f80d916e34b       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)       at java.lang.reflect.Constructor.newInstance(Constructor.java:423)       在org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)       在org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)       在org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)       at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:51)       at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)       在io.appium.java_client.ios.IOSDriver.execute(IOSDriver.java:1)       在org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:327)       at io.appium.java_client.DefaultGenericMobileElement.execute(DefaultGenericMobileElement.java:46)       at io.appium.java_client.MobileElement.execute(MobileElement.java:1)       at io.appium.java_client.ios.IOSElement.execute(IOSElement.java:1)       在org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:85)       在Tester.main(Tester.java:26)

1 个答案:

答案 0 :(得分:0)

我最终在MAC中创建了一个新的用户帐户。 看起来这个问题与Appium有关。卸载时缓存未正确删除(移至垃圾箱。我正在使用dmg)。 但是当我创建一个新用户帐户并完成所有设置/安装时,本机元素开始工作。

以上只是一种解决方法,也是一种非常繁琐的方法。如果您有任何其他解决方案,请分享。