用途:在 Xcode 项目中运行 XCUITests,解析测试结果、查看失败详情并导出测试附件。
主要能力:发现可用的 scheme 与测试 target;用 xcodebuild test 运行全部或指定测试(-only-testing、-skip-testing);生成 result bundle 并启用代码覆盖率;用 xcresulttool 获取测试摘要、逐条测试详情、控制台日志;导出失败附件(截图、视频)与覆盖率数据;按“元素未找到、等待超时、状态不匹配”等常见模式分析失败并给出修复建议。
使用方式:先确认项目目录存在 .xcodeproj/.xcworkspace,运行 xcodebuild -list -json 发现 scheme,检查是否有已启动的模拟器(xcrun simctl list devices -j)。每次测试使用新的 RUN_DIR 与 result bundle 路径,例如:"$AXBUILD" xcodebuild test -scheme "<SCHEME_NAME>UITests" -destination "platform=iOS Simulator,id=$BOOTED_UDID" -resultBundlePath "$RESULT_PATH" -enableCodeCoverage YES。结果解析用 xcrun xcresulttool get test-results summary/tests/test-details,附件导出用 xcrun xcresulttool export attachments --only-failures,覆盖率用 export coverage。
限制与注意:需先解析 bin/axbuild 的实际路径并检查可执行权限,不得凭示例推断安装路径;Cursor 与 MCP 分发不包含 axbuild,需改用保存日志的回退方式。运行前用 pgrep -lx xcodebuild 检查已有构建,不得终止无关进程。不要用管道(tee/grep/tail)处理 xcodebuild 输出,应重定向到文件。默认 JSON 输出上限 8000 字节,失败测试数为 null 表示不确定而非零。不要删除 xcresult 结果包,不要假设 scheme 名称。构建失败时应转交 build-fixer 处理。具体收费、平台支持范围等资料暂未提供。