我目前正在尝试使用Appium在真实设备(Iphone4S)上自动化(启动默认MAP-App)。
我有以下代码:
def setCapabilities():
desired_caps['platformName'] = 'iOS'
desired_caps['platformVersion'] = '8.1'
desired_caps['deviceName'] = 'iPhone4s'
desired_caps['udId'] = '<phoneUDID>'
desired_caps['bundleId'] = 'com.apple.Maps'
appium_url = 'http://0.0.0.0:4723/wd/hub'
webdriver.Remote(appium_url,desired_caps)
我一直在客户端获得例外
“原始错误:仪器在启动时崩溃”,
在服务器端我有以下错误:
尝试使用UDID -phoneUDID -
在真实设备上运行应用“仪器使用错误:指定的目标进程无效: 的 com.apple.Maps “
仪器退出代码255
我确保bundleId是在Iphone的Default BundleId中定义的正确的,但是我一直收到这个错误。我尝试了不同的默认Iphone包(com.apple.safari,com.apple.maps),都返回了相同的错误。
如何使用appium启动苹果地图,如上面的代码片段所示?
-update:似乎我需要为应用程序分配开发人员证书。这意味着本机应用程序无法自动化(更多内容可以找到..)
答案 0 :(得分:0)
我遇到了同样的错误,并找到了可以解决这个问题的两个原因:
iOS版本与您的Xcode版本不兼容,例如Xcode 7.3.1和iOS 10.0.1。
如果您的iOS设备在9.x或更高版本上运行,您可能忘记了“信任企业应用程序”#34; (Guidelines for installing custom enterprise apps on iOS)
如果需要,只是为了比较,这是我的追踪:
[debug] [Instruments] [INST STDERR] Instruments Usage Error: Specified target process is invalid: bundleid.of.my.app
instruments, version 7.3 (60134)
usage: instruments [-t template] [-D document] [-l timeLimit] [-i #] [-w device] [[-p pid] | [application [-e variable value] [argument ...]]]
[debug] [Instruments] Instruments exited with code 255
[Instruments] Error launching instruments: Instruments crashed on startup
我的设备在v9.3.4下运行。 Xcode版本是7.3.1。另请注意,最新稳定的Appium v1.5.3尚不支持iOS v10.0.1和Xcode 8。