求助:Appium无法识别已运行模拟器的正确UDID
解决Appium无法识别运行中模拟器的问题
我之前也碰到过一模一样的报错,明明模拟器在跑、UDID也核对了好几遍,就是报找不到设备的错,折腾了好几个小时才搞定,给你几个亲测有效的排查和修复步骤:
先确认系统层面能识别到模拟器
打开终端执行xcrun simctl list devices,在输出里找你的模拟器UDID(CC518D0B-7B20-4E93-94B6-CEA304D19AC),看它的状态是不是Booted。如果这里都找不到或者状态不对,那问题出在模拟器本身,不是Appium:- 如果状态不是Booted,手动重启模拟器;
- 如果根本没这个UDID,那可能你复制的UDID有误,或者模拟器被误删了,重新创建一个模拟器再试。
彻底重启Appium和模拟器
有时候缓存会搞出莫名其妙的问题:- 完全关闭Appium(包括后台进程,用Activity Monitor杀掉所有相关进程);
- 关闭模拟器,然后从Xcode的
Window > Devices and Simulators里重新启动它; - 再重新启动Appium服务并运行测试。
检查Xcode命令行工具的路径配置
Appium依赖Xcode的命令行工具来和模拟器通信,路径不对就会出问题:- 终端执行
xcode-select -p,看输出是不是/Applications/Xcode.app/Contents/Developer(如果你的Xcode在其他路径就对应修改); - 如果路径不对,执行
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer来修正。
- 终端执行
验证Appium驱动和Xcode版本兼容性
旧版本的XCUITest驱动(Appium的iOS驱动)可能不兼容新的Xcode版本,反过来也一样:- 查看你当前Appium的XCUITest驱动版本(可以在Appium日志里找到);
- 确认这个版本和你安装的Xcode版本是否兼容,比如最新版的XCUITest驱动一般支持最新2-3个Xcode版本;
- 如果不兼容,要么更新Appium到最新稳定版,要么降级Xcode到兼容的版本。
重置模拟器的内容和设置
如果模拟器的状态异常,也会导致识别失败:
打开模拟器,点击Device > Erase All Content and Settings,重置完成后再重启模拟器,然后重新运行测试。
另外,我注意到你报错里的UDID是CC518D0B-7B20-4E93-94B6-CEA304D19AC,正常的模拟器UUID最后一段应该是12位字符,这个看起来少了一位(只有11位),你可以再核对一下是不是复制的时候漏了最后一个字符?这也可能是问题所在。
内容的提问来源于stack exchange,提问作者the_prole
相关产品推荐
相关产品推荐

