roborazzi について
Roborazziは、Robolectric Native Graphicsを使ってJVM上で実行するAndroid向けスクリーンショットテストスキルです。ビュー、Jetpack Compose、Compose Previews、Compose Multiplatformに対応し、記録・比較・検証の手順を扱います。
主な機能
- 01JVMユニットテストとしてのスクリーンショットテスト
- 02AndroidビューとJetpack Composeのテスト
- 03スクリーンショットの記録・比較・検証
- 04GIFと動画のキャプチャ
- 05UIツリーダンプの生成
活用シーン
- 01デバイスやエミュレーターなしでのUI画像テスト
- 02ビルドフローでのスクリーンショット変更の検証
- 03Compose 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 は、Robolectric Native Graphics を使用して JVM 上で動作する Android 向けスクリーンショットテストライブラリです。そのため、スクリーンショットテストをデバイスやエミュレーターなしで JVM のユニットテストとして実行できます。通常の Android ビュー、Jetpack Compose(Compose Previews を含む)、Compose Multiplatform に対応しています。
一般的なワークフローでは、まず ./gradlew recordRoborazziDebug でベースライン画像を記録し、続いて compareRoborazziDebug / verifyRoborazziDebug で比較または検証します(タスク名はバリアントによって異なります。ビルド設定のリファレンスを参照してください)。
リファレンス一覧
作業内容に合ったリファレンスを参照してください。
| ファイル | 参照するタイミング |
|---|---|
| references/top.md | Roborazzi の概要や、デバイステストや Paparazzi ではなく Roborazzi を使う理由を知りたい場合。 |
| references/try_it_out.md | 最小限のクイックスタートや、Roborazzi を試すためのサンプルプロジェクトを探している場合。 |
| 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 ツリーダンプについて:機械可読な .uitree.json セマンティクスサイドカーと、ツールや AI エージェント向けの注釈付き 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、desktop/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 の公式ドキュメントに対応しています。常に最新のバージョンはドキュメントサイトで確認できます。