SuperAPI AI 工具集

argent-screenshot-diff

测试与质量

查看项目

更新于 10-16 09:30

技能介绍

用途:screenshot-diff 用作 UI QA 与视觉回归检查的辅助视觉证据,突出像素可见的变化或稳定性。它不替代视觉检查、无障碍/组件树状态、帧与属性检查、日志、网络证据或应用行为。不要用它做点击坐标发现,应先用 describe、debugger-component-tree 或 native-describe-screen 定位目标。

主要能力:支持已保存文件之间的对比,也支持实时抓取;在物理 iPhone(kind "device")上实时抓取通过设备端 runner 以完整分辨率进行,作用于整个设备,且无需注册应用。基线应按设备型号和分辨率分别保存。在硬件上 rotation 参数会被忽略,抓取遵循设备真实方向。

适用场景:适合受影响屏幕具有稳定前后状态且预期结果像素可见的情况,如布局、位置、尺寸、间距、颜色、排版、图像/图标渲染、裁剪、溢出或文本渲染;也适合发现改动元素之外的意外视觉回归。对于状态变化、导航存在性、无障碍树内容、控制台/网络行为或单元测试这类更适合结构化验证的问题则不适用。动态内容、无法暂停的动画、时间戳、广告、随机数据或缺少基线/当前截图会让对比产生噪声或失去意义,也不适用。

使用方式:为基线侧和当前侧各提供 udid 以及恰好一个输入。常见 UI 回归流程为保存的基线加实时当前:baselinePath、captureCurrent: true、udid、outputDir。两张截图都已保存则用 baselinePath、currentPath、udid、outputDir。较少见的夹具流程为实时基线加保存的当前:captureBaseline: true、currentPath、udid、outputDir。不要同时设置 captureBaseline: true 和 captureCurrent: true,也不要为同一侧同时提供路径和实时抓取标志。

确定性流程:导航到已知良好状态;用 screenshot(scale: 1.0、includeImageInContext: false)抓取基线 PNG 并保留返回路径;执行交互、应用代码改动并导航到待测状态;调用 screenshot-diff,传入保存的 baselinePath、captureCurrent: true、udid、outputDir;查看摘要和产物路径,再结合正常视觉检查及所需的结构/运行时证据做断言。

限制:硬件上忽略 rotation;基线需按设备型号与分辨率维护;不适用于点击坐标发现或结构化验证;动态或不可暂停内容会导致对比无效。其他细节暂未提供。