关于 roborazzi
Roborazzi 是用于 Android 的截图测试技能,借助 Robolectric Native Graphics 在 JVM 上运行测试,覆盖视图、Jetpack Compose、Compose Previews 和 Compose Multiplatform。
主要功能
- 01以 JVM 单元测试运行截图测试
- 02测试 Android 视图和 Jetpack Compose
- 03录制、比较并验证截图
- 04捕获 GIF 和视频
- 05生成 UI 树转储
适用场景
- 01无需设备或模拟器测试 UI 截图
- 02在构建流程中验证截图变化
- 03从 Compose Previews 生成截图测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ takahirom/ roborazzi --skill roborazzi安装后在 Claude Code 中输入/roborazzi确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/ai_powered_image_assertion.mdbuild_setup.mdcompose_multiplatform.mdfaq.mdgif_and_video.mdgithub_actions.mdgradle_properties_options.mdhow_to_use.mdidea_plugin.mdpreview_support.mdtop.mdtry_it_out.mdui_tree_dump.md详细介绍
Roborazzi
Roborazzi 是一个适用于 Android 的截图测试库,可通过 Robolectric Native Graphics 在 JVM 上运行,因此截图测试可以作为 JVM 单元测试运行,无需设备或模拟器。它适用于普通 Android 视图、Jetpack Compose(包括 Compose 预览)以及 Compose Multiplatform。
典型工作流:使用 ./gradlew recordRoborazziDebug 录制基准图像,然后使用
compareRoborazziDebug / verifyRoborazziDebug 与基准图像比较或验证(任务名称因
变体而异;请参阅构建设置参考)。
参考索引
请阅读与当前任务相符的参考资料:
| 文件 | 阅读时机 |
|---|---|
| references/top.md | 需要了解 Roborazzi 是什么,以及为什么要使用它而不是设备测试或 Paparazzi。 |
| references/try_it_out.md | 想要快速入门,或试用示例项目。 |
| references/build_setup.md | 设置 Gradle 插件和依赖项,或运行/了解 record/compare/verify Gradle 任务及其输出。 |
| references/how_to_use.md | 编写测试:用于视图/Compose/Espresso 的 captureRoboImage、RoborazziRule 及其选项、输出路径和文件命名、RoborazziOptions(阈值、图像比较器、转储模式)。 |
| references/gif_and_video.md | 捕获测试交互的 GIF 和视频:captureRoboGif、recordRoboVideo / recordScreenRoboVideo、RoboVideoOptions、GIF 与 APNG 输出。 |
| references/ui_tree_dump.md | UI 树转储:面向工具和 AI Agent 的机器可读 .uitree.json 语义侧车文件及带注释的 Set-of-Mark 图像(roborazzi.dumpUiTree、uiTreeDumpOptions),包括通过边界框验证 UI 修复的工作流。 |
| references/github_actions.md | 为 Roborazzi 设置 GitHub Actions CI:存储基准截图、验证截图,以及在拉取请求中比较快照结果的工作流。 |
| references/preview_support.md | 使用 ComposablePreviewScanner 从 @Preview 可组合项生成截图测试,包括预览测试的设置和自定义。 |
| references/compose_multiplatform.md | 测试 Compose Multiplatform 目标平台(iOS、桌面/JVM)的截图,包括各平台支持的功能。 |
| references/ai_powered_image_assertion.md | 通过 roborazzi-ai 模块使用 AI 模型(OpenAI、Gemini)断言截图内容。 |
| references/gradle_properties_options.md | 配置 roborazzi.* Gradle 属性:任务行为、输出目录、文件名策略、比较报告设置。 |
| references/idea_plugin.md | 使用 Roborazzi IntelliJ IDEA / Android Studio 插件在 IDE 中查看截图。 |
| references/faq.md | 故障排查:常见错误、CI 设置问题、Robolectric 配置问题及其他常见问题。 |
references/ 下的文件与发布此技能时的 Roborazzi 官方文档一致。最新版本始终可在
文档网站上获取。
评论
支持 Markdown