在真实设备启动Appium时遇到Cannot read property 'count' of undefined错误
解决Appium启动iOS真实设备时的"Cannot read property 'count' of undefined"错误
先还原你的问题场景:
[MJSONWP] 运行命令时遇到内部错误:
TypeError: Cannot read property 'count' of undefined。
你的Appium配置如下:
{ "platformName": "iOS", "deviceName": "iPhoneX", "bundleId": "com.test.app", "platformVersion": "11.4", "udid": "XXX", "automationName": "XCUITest", "noReset": "true", "xcodeOrgId": "XXX", "xcodeSigningId": "XXX", "app": "/Users/sathya/android-sdks/platform-tools/test.app" }
这个错误我帮不少iOS自动化开发者排查过,大概率是XCUITest初始化阶段的配置或环境问题,给你几个针对性的解决方向:
1. 先检查App包的路径与签名
- 你的iOS
.app包放在了android-sdks/platform-tools目录下,虽然不是直接报错原因,但建议把iOS测试包移到单独的目录,避免和Android工具混淆,也方便后续管理。 - 重点确认
test.app已经用你配置的xcodeSigningId和xcodeOrgId正确签名,而且能手动在你的iPhoneX(iOS11.4)上安装并正常启动。如果手动安装都失败,Appium肯定也启动不了这个App。
2. 调整XCUITest相关配置参数
- 尝试在配置里添加
"useNewWDA": true,这个参数会强制重新安装WebDriverAgent(WDA),很多时候能解决WDA初始化时的计数类异常。 - 你现在开了
"noReset": true,可以临时改成"noReset": false试试——有时候旧的应用缓存或WDA残留数据会导致初始化出错,重置后大概率能解决。
3. 验证WebDriverAgent的运行环境
- 手动检查WDA是否能正常工作:找到Appium安装目录下的WebDriverAgent项目(通常在
/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent),用Xcode打开WebDriverAgent.xcodeproj,选择你的iPhoneX设备和对应的签名配置,直接运行看是否能在设备上启动WDA应用。如果Xcode运行报错,先把这个问题解决了再用Appium。 - 确认你的Xcode版本和iOS11.4兼容:iOS11.4对应的Xcode版本是9.4.x,别用太高版本的Xcode,不然会有兼容性问题。
4. 核对设备UDID的正确性
- 确保你填的
udid是设备的真实UDID,可以用idevice_id -l命令(需要先安装libimobiledevice工具)查看设备的正确UDID,避免填错导致Appium无法正确识别设备。
按照上面的步骤逐一排查,大部分情况下都能解决这个"count of undefined"的错误。
内容的提问来源于stack exchange,提问作者sathiya
相关产品推荐
相关产品推荐

