无法在真实设备上的iOS 10上运行Appiumtesting

由于更新我的设备和Xcode到iOS 10和Xcode 8,我一直无法成功地设置真实设备上的Appiumtesting。 不过,我在模拟器上正常工作。 以下是我的function设置:

DesiredCapabilities cap = new DesiredCapabilities(); File f = new File("/Path/App.ipa"); cap.setCapability(MobileCapabilityType.APPIUM_VERSION, "1.6.0"); cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS"); cap.setCapability(MobileCapabilityType.PLATFORM_VERSION, "10.1.1"); cap.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone 6 (Model MG472B/A)"); cap.setCapability(MobileCapabilityType.UDID, "20a548dc87a87ecddf7ab3975a4b5f3395ac1a0"); cap.setCapability(MobileCapabilityType.APP,f.getAbsolutePath()); cap.setCapability("bundleId", "co.uk.xx"); cap.setCapability(MobileCapabilityType.AUTOMATION_NAME,"XCUITest"); cap.setCapability("noReset", "true"); try { driver = new IOSDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"), cap); } catch (MalformedURLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } 

我遇到了下面的错误:

'处理命令时发生未知的服务器端错误。 原始错误:未知设备或模拟器UDID:'xx'。

通过链接的Appium日志https://gist.github.com/dodigital/ee5944f31b34749edf3d1c57146594e7

 Available devices: 20a548dc87a87ecddf7ab3975a4b5f3395ac1a0b [XCUITest] Error: Unknown device or simulator UDID: '20a548dc87a87ecddf7ab3975a4b5f3395ac1a0' . 

这是你得到错误udid的错误。 你最后错过了'b'

我终于能够通过以下步骤解决问题并在真实设备上运行:

  • 我已经省略了UDID中的最后一个字符,按照上面的build议添加了'b'。
  • 将xcodeConfigFile和realDeviceLogger添加到function列表中。
  • 确保在WebDriverAgent上设置正确的开发团队。

任何人有问题,请随时写下这篇文章。 我花了两天的时间把困难的事情弄清楚了。