モバイルアプリ向けのグレーボックス E2E テスト・自動化フレームワーク
中辛 の解説
スタック: JavaScript・React Native・Jest
特徴: 非同期操作の自動同期化でテストの不安定性を根本から排除し、async-await API でブレークポイントが正常に機能します。CI プラットフォーム(Travis CI、Circle CI、Jenkins など)での実行を想定した設計で、実機テストにも対応しています。
すぐに使える: Getting Started ガイドで 10 分以内にセットアップ可能です。Jest との統合がデフォルトで含まれており、既存のプロジェクトに組み込みやすいです。
難易度: 中程度(テスト自体の書き方は簡潔ですが、モバイル環境の理解が必要)
こんなリポジトリです
こんなときに便利です
- CI/CD パイプラインに組み込んで、リリース前に複数プラットフォームでの動作を自動検証する
- ユーザーの実際の操作フローをシミュレートしてログインや購入などの重要な機能を自動テストする
- リグレッションテストを実行して、新機能追加時に既存機能の破損を早期に検出する
主な機能
ほかとの違い
Black Box テストではなく Gray Box テストにより、アプリの内部非同期処理を監視して E2E テストの不安定性を根本から排除する点が、他の汎用モバイルテストツールとの大きな違いです。
このリポジトリの作り方
はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。
準備するもの
- Node.js と npm
- React Native プロジェクト
- iOS または Android 開発環境
すぐに始める
- Detox CLI をインストールします。
npm install --save-dev detox-cli
- プロジェクトに Detox をセットアップします。
detox init -r ios
-
設定ファイル(package.json または .detoxrc.json)を編集し、アプリのパスとテスト実行環境を指定します。
-
テストファイルを作成します(例:e2e/firstTest.e2e.js)。
describe('Login flow', () => {
beforeEach(async () => {
await device.reloadReactNative();
});
it('should login successfully', async () => {
await element(by.id('email')).typeText('john@example.com');
await element(by.id('password')).typeText('123456');
await element(by.text('Login')).tap();
await expect(element(by.label('Welcome'))).toBeVisible();
});
});
- iOS シミュレータをビルドします。
detox build-framework-cache
detox build-app -c ios.sim.debug
- テストを実行します。
detox test -c ios.sim.debug --cleanup
ギット飯トライで味見
入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。
ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。
npx gitbap-try wix/Detox
Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →
これを仕事に活かす
味見がすんだら次は応用です — 仕事やビジネスに活かす方法をまとめました。
レシピ — AI にこのまま頼んでみてください
レシピを読み込んでいます…
スター推移 · 7日
確認日時
使いやすさ · まねしやすいか
- ゆるいライセンス
- テストあり
- サンプル集
- 最近の更新
- AGENTS.md
- llms.txt
- テンプレート
最近の更新あり · 2016 年に作成
「自動化・ワークフロー」 こういうリポジトリを毎週受け取りませんか?
毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。
自分のリポジトリですか? README にギット飯バッジを貼る
[](https://www.gitbap.com/r/wix/Detox)Claude からそのまま使う — ギット飯のつなぎ方
ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。
Claude の設定 → コネクタにこのアドレスを貼り付け。
https://www.gitbap.com/api/mcpプラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。
/plugin marketplace add jakeparkcolde/gitbap-cowork/plugin install gitbap-cowork@gitbapAI が README をもとに要約しました · 原文を見る