SuperAPI AI 工具集

appshots-automation-pipeline

测试与质量

查看项目

更新于 10-16 06:57

技能介绍

该技能用于自动化移动应用的 App Store 截图采集流程,整体管线为:准备应用(语义标识)→ 启动模拟器 → 采集(Maestro/AXe)→ 设计交接。

一、用途 它教授 AI 代理如何完整自动化 App Store 截图采集工作流,涵盖工具选择、模拟器管理、应用导航、原始截图采集与设计交接。

二、工具选择 文档给出选择依据:若需要自动等待、重试逻辑或跨平台采集,使用 Maestro;若需要原始无障碍树 JSON 或仅限 iOS 的高级控制,使用 AXe 加 bash 脚本。推荐大多数应用始终从 Maestro 开始,仅在边缘场景回退到 AXe。适用场景对照表:任意移动应用跨平台采集、需要自动等待与重试逻辑时用 Maestro;需要原始无障碍树 JSON 时用 AXe(axe describe-ui);仅 iOS 原生应用(Swift/ObjC)两者皆可;无 Maestro 支持的 CI 环境或需要硬件按键模拟时用 AXe。

三、前置安装 Maestro(推荐,使用官方安装器而非 brew):curl -fsSL "https://get.maestro.mobile.dev" | bash 及 export PATH="$PATH:$HOME/.maestro/bin"。AXe(回退方案):brew install cameroncooke/axe/axe。始终需要 xcrun simctl,内置于 Xcode,无需安装。

四、工作流阶段 阶段 0:准备应用。采集前确保应用具有稳定的无障碍标识,参见 appshots-accessibility-ids 技能(为可点击元素添加标识的按框架 API 参考、命名约定 screen_element 模式、用 maestro studio 或 axe describe-ui 验证)。 阶段 0.5:演示数据与预采集设置。截图需要应用看起来内容充实、精致,空状态、空白列表和“开始使用”界面会破坏 App Store 截图。写采集流程前应询问用户:是否需要演示/种子数据、是否有演示模式或测试账号、是否有内容需要按语言区域定制、是否有引导/教程界面需要跳过、应用应显示何种特定状态。常见设置策略包括种子数据库(SQLite、Hive、Realm)、SharedPreferences/UserDefaults(写入启动前标志,如 xcrun simctl spawn <UDID> defaults write <bundle_id> has_seen_onboarding -bool true)、测试账号、演示模式标志、Mock API、清除并重装。文档给出 Flutter 的 SharedPreferences 设置示例(通过 simctl 获取应用容器路径后用 defaults write 写入 has_completed_onboarding、demo_data_loaded)。关键原则:代理应始终在编写采集流程前询问演示数据需求,采集空应用是浪费。 阶段 0.75:检测语言区域处理策略。应用处理语言区域的方式分两类,必须检查源码确定使用哪种,用错策略截图语言不会切换。策略 A:系统级语言区域(默认),应用跟随设备/模拟器语言设置;文档给出各框架的检测指标与 iOS/Android 切换命令。策略 B:应用级语言区域(自定义),应用内部管理自身语言设置,更改模拟器语言区域无效;文档同样给出各框架检测指标与切换方式(直接写入偏好、或使用 Maestro 点击应用内语言选择器)。还提供 Flutter、iOS 原生、Android、React Native 的快速检测 grep 命令。若不确定应询问用户。 阶段 1:采集原始截图。选项 A 为 Maestro(推荐),参见 appshots-maestro-capture 技能;选项 B 为 AXe + asc CLI(回退),通过创建 .asc/screenshots.json 定义 AXe 应执行的步骤,文档给出 JSON 示例与用 axe describe-ui 查找正确 id 和 label 的说明。多语言并行采集(AXe):不顺序重启单个模拟器,而是将每个目标语言区域映射到用 xcrun simctl create 创建的专用模拟器 UDID,从而实现并行采集;文档提供 parallel-capture.sh 完整脚本,包含语言区域-UDID 映射、是否原生 iOS、是否构建应用等配置、启动模拟器与设置语言区域、并行运行 asc screenshots run 的命令。 阶段 2:设计交接。原始截图采集完成后,立即转入 appshots-design-workflow 技能,将这些图像载入 App Screenshots 桌面应用进行加框、背景、文字叠加和 PDF/PNG 导出。

五、代理指南 文档给出从“采集我的健身应用截图”到完整流程的思考过程:询问演示数据、准备应用、设置演示状态、选择采集工具、发现应用(找包 ID、按需构建)、启动模拟器、编写采集流程、先单语言运行验证、再扩展到多语言并行、设计、翻译、导出。并列出采集前问题清单:要采集哪些界面、是否需要演示/种子数据、是否有测试账号或演示模式、是否有引导或权限弹窗要跳过、需要哪些语言区域、是否需要特定应用状态。

六、设备选择策略 必需默认(6.9"):iPhone 16 Pro Max 或 iPhone 17 Pro Max,覆盖 6.9" App Store Connect 主要要求且应始终采集。可选尺寸:6.5"(可选)iPhone 15 Pro Max 或 iPhone 11 Pro Max;5.5"(可选)iPhone 8 Plus(仅在明确要求旧版兼容时)。

七、关键提示 先准备标识符、用 Maestro 采集、用 --id 而非坐标(标识符跨语言区域与屏幕尺寸稳定)、先测试单语言再扩展、状态栏覆盖为可选(将模拟器时间设为 9:41 并覆盖网络/电池状态是可选的,默认模拟器通常足够干净)。

八、限制 文档未提及该技能的具体收费、价格或效果保证;文中未明确说明支持除 iOS/Android 之外的平台细节;演示数据、语言区域、账号等具体配置需用户按自身应用情况确认。