SuperAPI AI 工具集

ios-e2e

测试与质量

查看项目

更新于 10-16 00:01

技能介绍

用途:当 ios/ 目录下的改动需要在模拟器上构建并实际运行、或需要排查回归时使用;也可用于判断某个可见异常(如 sheet 或 footer 跳动、闪烁、高度错误)是回归还是既有问题,以及验证事件与时机正确性(onPositionChange 实时与稳定值、detent 变化、present/dismiss、取消滑动、堆叠 sheet 时的属性应用或丢失)。

主要能力与用法:先按 AGENTS.md,仅在用户要求构建或 e2e 时构建;驱动模拟器前先读 argent-device-interact。构建使用 example/bare(bundle id truesheet.example),原生库改动需重新构建,JS 改动经 Metro 热重载。Metro 用 yarn bare start 后台运行;因 Xcode 27 下 react-native run-ios 会失败,改用 xcodebuild:xcodebuild -workspace TrueSheetExample.xcworkspace -scheme TrueSheetExample -configuration Debug -destination 'id=<UDID>' -derivedDataPath build build。随后用 argent reinstall-app 安装 TrueSheetExample.app 并 launch-app。示例应用启动落在 MapScreen,需上滑 grabber(fromY 0.905 → 0.45,durationMs 600,momentum: false)显示按钮,覆盖 FlatList 切换、增删项、堆叠子 sheet、ScrollView、Sheet Navigator、Test Screen 等场景。

证据工具:调试器注入 scripts/sheet-hooks.js 记录 onPositionChange、实时改写属性、按拖动事件改属性、定时调用 present/dismiss/resize;用 screen-recording-start 录屏后以 scripts/track_column.py 逐帧追踪像素列边缘;通过 debugger-log-registry 读取临时 RCTLogWarn(@"[TSDBG] ...") 日志并做崩溃排查。

限制与注意:A/B 对比需备份并构建两份版本,禁止 git stash 用户工作,构建后立即恢复;await-ui-element 为子串匹配可能误判超时;手势后立刻截图可能是过渡前状态;某些 HEAD 既有行为(导航后点击被忽略、0.3 detent 子 sheet 遮挡、重新呈现后高度偏差约 27pt)不是回归;若其他应用抢占前台会导致 JS 运行时挂起。结束时清除所有 TSDBG 日志并格式化。