Ikeraq

tester-army/e2e

テストの手順を言葉で書き、AI が一度通した操作は次から記録で再生する

Apache-2.0 · 商用可 TypeScript ★ 11,200 (今日 +121) 今日 更新
GitHub で見る tester-army/e2e
GitHub の説明(原文)
Next generation e2e testing framework for web and mobile apps.

どういうものか

ウェブアプリとスマホアプリの E2E テスト(利用者と同じように画面を操作して、最後まで通るかを確かめるテスト)を書くための、TypeScript の枠組みだ。ふつうの E2E テストは「このボタンを押す」「この欄に入力する」と操作を1つずつ書く。e2e では「ワークスペースを Pro プランに上げる」のような目的を文で書くと、AI エージェントがアプリを操作してそこまで進める。結果の確かめ方は2通りあり、AI に文で判定させることも、従来どおり画面の要素を指定して中身を照合することも、同じテストの中でできる。

ブラウザは Playwright を通して Chromium・Firefox・WebKit を動かし、スマホは iOS シミュレーターと Android エミュレーターを動かす。結果をプルリクエストにコメントで書き込む部品や、クラウド上のブラウザやシミュレーターを使う部品は、別のパッケージで用意されている。

AI を毎回呼ぶわけではない。エージェントが操作した手順は、そのあとの確認で正しさが確かめられると記録され、次の実行からはアプリが変わるまで、モデルを呼ばずに記録を再生する。ただし再生できるのは操作の手順だけで、AI に文で判定させる確認は毎回モデルを呼ぶ。エージェントの手順を含まないテストなら、モデルはまったく要らない。モデルは自分で用意する方式で、サブスクリプション、API キー、手元で動かすモデルのいずれかを使う。

AI の操作は、確認が通ると記録され、次から再生される 目的を言葉で書く (agent.act) AI エージェント (アプリを操作する) 確認が通る (操作を記録する) 次の実行 (モデルを呼ばずに再生) アプリが変わるまでは、記録した操作をそのまま使う
AI に操作させるのは、その手順を覚えるまで。ただし AI に判定させる確認は、毎回 AI を呼ぶ。

どんなときに使うか

テストを書きたいが、ボタンや入力欄を1つずつ指定するのが手間なとき

途中の操作は目的を文で書いて AI に任せ、最後に確かめたい表示だけを要素で厳密に照合する、という分け方ができる。

ウェブ版とスマホ版を、同じ枠組みでテストしたいとき

ブラウザ用と iOS・Android 用のエンジンがあり、どちらも同じ e2e の中で扱える。

注意点

まだ 1.0 の前。 マイナーリリースの間でも、API や設定が変わることがあると README に明記されている。

記録は、そのままでは機械ごとに別になる。 初期設定で記録の置き場が .gitignore に入るため、それぞれの機械が自分で記録を作る。CI では、設定を変えない限り記録を読むだけで新しく書き込まない。

CLI は匿名の利用データを送る。 テストやアプリの中身、認証情報は送らないとしている。止めるには npx e2e telemetry disable を実行するか、環境変数 E2E_TELEMETRY_DISABLED=1 を設定する。

開発の様子

3 か月
公開してからの期間。2026-07-22 が最初のコミットです
19 回
リリースの回数です
21 人
開発に参加した人数です
0 日前
最後のコミットです
76 件
未解決の Issue とプルリクエストの合計です(GitHub はこの2つを同じ数に含めます)

ほかの候補

AlmasB/FXGL
Java / JavaFX / Kotlin Game Library (Engine)
fastlane/fastlane
🚀 The easiest way to automate building and releasing your iOS and Android apps
nolimits4web/swiper
Most modern mobile touch slider with hardware accelerated transitions
X で共有 この記事がよかったら

この記事の更新日は 2026-10-07 です。 内容は公開されている README と GitHub のデータに基づいています。 数値は GitHub から取得したもの、警告は判定の基準にある条件での自動判定です。事実誤認を見つけた場合はお知らせください。