在AWS Device Farm运行XCUITest遇套件不足错误,按文档操作未解决
排查AWS Device Farm XCUITest "Not enough suites found to execute" 错误
我之前帮同行排查过一模一样的问题,给你几个针对性的排查方向,应该能解决:
先盯紧测试包的结构与签名
AWS Device Farm对XCUITest的包结构要求很严格,你得逐一确认:- 上传的测试专用
.ipa里,PlugIns目录下必须存在一个.xctest结尾的测试bundle,没有这个就别谈识别测试套件了 - 测试bundle里的
Info.plist里的CFBundleIdentifier,必须和你上传时填写的测试目标bundle ID完全一致,大小写、符号都不能错 - 主应用包和测试包的签名必须匹配——得是同一个开发者账号签发的,不能一个用开发证书、一个用发布证书
- 上传的测试专用
先在本地验证测试包有效性
别着急往云端传,先在本地跑一遍XCUITest,确认至少有一个测试用例能正常执行。还可以用xcodebuild命令导出测试包时,用参数确保包的完整性:xcodebuild build-for-testing -workspace YourApp.xcworkspace -scheme YourTestScheme -destination 'generic/platform=iOS' -archivePath ./YourTestArchive.xcarchive导出后打开
.xcarchive里的Products/Applications目录,检查测试插件里的测试类、Tests目录是否都存在。上传配置别踩这些坑
上传到Device Farm时的细节很容易出错:- 主应用包和测试包要分开上传,别把测试包当成主应用传了
- 选完“XCTest UI”测试类型后,一定要正确填写测试目标bundle ID——是测试bundle的ID,不是主应用的
- 如果勾选了“Run only specified test suites”,必须至少选一个测试套件,空选的话自然会提示找不到可执行测试
兼容性也要查
确保测试包的编译SDK版本和你选的Device Farm设备iOS版本匹配,比如设备是iOS 16,测试包就不能用iOS 17 SDK编译,兼容性不匹配会直接导致Device Farm识别不到测试套件
额外提一个我踩过的坑:如果测试包的文件名里有空格、中文这类特殊字符,Device Farm可能识别异常,建议把测试包重命名成简单的英文名称(比如
MyAppUITests.ipa)再上传试试
内容的提问来源于stack exchange,提问作者Pankaj
相关产品推荐
相关产品推荐

