AI エージェントと並行して多くのブラウザー テストを自動実行します
Playwright MCP はツールを1回ずつ呼び出してブラウザを操作するため、遅くトークン消費も大きくなります。ego (lite) なら、Claude Code や Codex が数行のコードでテスト全体を実行:2.4 倍速く、しかも複数のテストをそれぞれ独立した Space で並列実行できます。
尋ねるだけでブラウザテストを実行
例えば、この EC サイトにバグがないか Codex に確認を頼んだとします。Codex がテストを一通り実行し、バグを直し、結果を報告してくれます。こちらは TikTok をスクロールしながら見ているだけです。
同じページが画面上で壊れたページから右へ進みます
商品ページが正しく表示されません。エージェントが ego (lite) でページを確認し、ソースの CSS を修正すると、開いているページが画面上で正しく再描画されます。
ego (lite) でブラウザテストを高速実行
従来のブラウザテストでは Playwright MCP や Chrome DevTools MCP を使い、ツールを 1 回ずつ呼び出します。次の手順へ進むたびに、モデルが直前の結果を読むのを待つため、時間もコストもかかります。ego (lite) なら、エージェントは複数の手順を 1 つの JS コードとしてまとめて実行できるため、より少ないトークンで早く完了します。
| ego (lite) | Playwright MCP | Chrome DevTools MCP | |
|---|---|---|---|
| エージェントがどう操作するか | /ego-browser スキルを通じて | 外部 MCP サーバー。アクションごとに 1 つのツール呼び出し。 | 外部 MCP サーバー。アクションごとに 1 つのツール呼び出し。 |
| セットアップ | セットアップ不要で、どのエージェントでも動作します。 | npx のインストール、構成する起動モード、頻繁な起動、および Chrome 検出エラー。 | リモート デバッグ、ユーザー データ ディレクトリ、クロスホスト セットアップ。 |
| トークンの使用 | 低い。MCP のツールスキーマが不要な上、コンテキストに入るのはエージェントがログに残した内容だけです。アクションごとではなく、実行1回につき Snapshot 1つで済みます。 | 高い。ユーザーは、6 倍のトークン増加と 200,000 トークンのコンテキスト オーバーフローを報告しています。 | 高い。スクリーンショットにはトークンが高価です。 |
| ログイン状態 | あなた自身のログインブラウザ。 Chrome のログイン状態と同じ | デフォルトでは分離ブラウザ。ログインを保持するということは、拡張モードまたはストレージ状態のセットアップを意味します。 | 接続はできるが、使用中のタブを占有してしまう。 |
| iframe / Shadow DOM / SDK ウィジェット | そのページのスナップショットはレンダリング エンジンに組み込まれているため、すべての内部を読み取ります。 | アクセシビリティ スナップショットには iframe の盲点があります。 | 生の DOM は自分で処理します。 |
| コンソール/ネットワーク/トレース | コンソール、ネットワーク、トレースは、Chrome DevTools データから直接読み取ります。 | コンソール、ネットワーク、スクリーンショット。 | 最も深い: Lighthouse、パフォーマンス、メモリ。 |
| ロケーターの安定性 | セマンティックラベルにアンカーされ、クラスが変更されても存続します。 | 参照/アクセシビリティ、かなり安定しています。 | 生の DOM セレクター。 |
| CAPTCHA / ボット検出 | 実際の人間のセッションでは、つまずく可能性はほとんどありません。 | 独立した/ヘッドレス ブラウザ。フラグが設定されることがよくあります。 | 接続すれば動作は安定するが、使用中のタブを占有してしまう。 |
| 並列タスク | Spaces を介して一度に実行される多くのタスクをサポートするために生まれました。 | サーバーごとに 1 つのセッション。並列実行とは、追加の分離されたインスタンスを管理することを意味します。 | 単一インスタンスでタブ数が多いとクラッシュします。 |
摩擦の原因は決してブラウザではありませんでした。その間の層でした。
開発者フォーラムや Issue トラッカーを見ると、不満の大半は MCP に集中しています。エージェントとブラウザの間にあるこの層で、接続が切れる、承認待ちが積み上がる、セッションが壊れる、トークンが膨れ上がる、といった問題が起きています。ego (lite) はあらかじめすべて設定済みなので、こうした不可解なエラーに悩まされません。
ブラウザは動作します。それへの接続はありません。
- 接続: ツールは表示されているのにエージェントが呼び出さない、実行が「承認待ち」のまま止まる、同じサーバーでもクライアントによって挙動が変わる、といった問題です
- 承認: ツール呼び出しごとに 1 つのポップアップが表示され、「すべて実行」がオンになっている場合でも、1 つのタスクに 10 ~ 30 のポップアップが表示されることがよくあります。
- 信頼性: 中途半端に終了したタスク、またはすでに成功したにもかかわらずタイムアウトになるナビゲーション
間に何も挟まない:ego (lite) 自体がブラウザ
- 設計上安定しています: エージェントは自身が所有するローカルブラウザと直接やり取りするため、途中で切断したり止まったりする MCP のトランスポート層がありません
- 承認の減少: アクションごとに 1 つのツール呼び出しを行うのではなく、1 つのパスで多くのステップを実行します。
- 予測可能: 毎回同じ方法で任意の AI エージェントにドロップイン
テストスクリプトはありません。維持するセレクターはありません。何を確認するかを言うだけです。
Playwright、Cypress、Selenium によるテストでは、自分でテストとセレクタを管理するため、クラス名やレイアウトが変わると壊れます。ego (lite) は自然言語で書かれた確認内容を受け取り、意味に基づいて要素を見つけるため、UI が変わってもテストは壊れません。
仕様を書き、セレクターを保守するのはあなたです
- 手書きで作成し、バージョン管理する
.specカバーしたいすべてのフローに対応 - ピンセレクターのような
page.click(".btn-x7f3")次回 UI が変更されたときに壊れる - 待機と再試行を追加して不安定さに対処する
- サインインの背後でテストするためのログイン自動化ファイルまたはストレージ状態ファイルを構築する
- 再設計するたびにスイートを再実行して修復する
何を確認するかを言うだけ
- 仕様書は不要:確認したいことをエージェントに一文で伝えるだけ
- CSS クラスではなく要素の意味で場所を特定するため、クラス名の変更やレイアウトの入れ替えでテストが壊れません
- スマート待機は非同期コンテンツを処理し、手動でスリープする必要はありません
- ログインの自動化を行わずにサインインの背後でテスト
- 視覚的な回帰テストが必要ですか?エージェントはスクリーンショットの差分を確認します
CI 上で無人実行するバージョン管理済みのヘッドレススイートや、Firefox・WebKit も含めたクロスブラウザテストが必要なら、 Playwright を維持。ego (lite) は、開発中に使える高速でスクリプト不要の内側のループです。
AI エージェントは ego (lite) をどう操作するか
エージェントは、1 つの完全な JavaScript プログラムを作成することによってブラウザを駆動します。 1 回の呼び出しで、ストアを開く、商品を追加する、チェックアウトを待つ、といったすべてのステップがまとめられ、ブラウザ内でそれらが順番に実行されるため、エージェントは 1 つのアクションが返されるのを待ってから次のアクションを送信することはありません。
ブラウザーのテストを不安定にする原因を処理します
開発者が自動化しにくいと挙げるシナリオを実行したところ、ego (lite) 上のエージェントはすべて処理できました。セマンティックスナップショットは Chromium のレンダリングエンジン内部で生成されるため、注入スクリプトでは見えない Shadow Root やクロスドキュメント iframe の内部まで認識できます。
Shadow DOM
Acts inside web-component shadow roots, where injected scripts go blind.
Payment iframes
Fills card fields inside cross-document iframes, like a Stripe checkout.
Custom date pickers
Picks a date range in a custom calendar with no test ids.
Drag and drop
Real HTML5 drag: moves a kanban card, the board follows.
Infinite scroll
Scrolls a lazy feed until every item is loaded, no hand-tuned waits.
Paginated tables
Walks every page of an admin table and pulls each row.
Conditional modals
Cookie banners and dialogs that pop up mid-flow get handled, not tripped over.
Autocomplete
Types an address, waits for the suggestions, picks the right one.
他の要素に隠れたボタンや無効化されたボタンをクリックした場合も、実際のテストフレームワークと同じく、誤って成功扱いにせず失敗として報告します。
ログインしたブラウザは依然としてあなたの管理下にあります
ログイン済みのブラウザをエージェントに自由に触らせることに、一瞬立ち止まりたくなるのは当然です。境界線がどこにあるかを説明します。
独自のSpaceで動作します
エージェントはブラウザ内の別ワークスペースで動作します。ログイン状態は共有しますが、あなたのタブやウィンドウには一切手を触れません。
あらゆるステップが目に見える
隠れたヘッドレスプロセスではなく、Mac 上で画面表示ありのリアルなブラウザが動きます。実行の様子をライブで確認でき、エージェントの CLI からいつでも中断できます。
Mac からは何も残りません
履歴、Cookie、セッションはあなたのコンピュータに残り、ego (lite) がアップロードすることはありません。
課金が発生するチェックアウトや実際に削除が走る操作など、副作用のあるフローをテストするときは、localhost やステージング環境をエージェントに指定してください。 手でテストするのと同じ方法で.
使用方法、ステップバイステップ
Web アプリのテストはたった 3 ステップ:エージェントに localhost や任意の URL を指定し、何を確認するか伝えれば、どこで何が失敗したかが返ってきます。
普段使っている Chromium ブラウザそのもの。ワンクリックで Chrome のログイン情報を取り込めるので、エージェントもあなたと同じ状態でテストできます。
何をテストする必要がありますか?
/ego-browser localhost:3000 を開いてチェックアウトし、何が壊れているか教えてください
種類 /ego-browser そして、エージェントが理解できる任意の言語で、何を確認するかを伝えるだけです。
| ページ | 結果 |
|---|---|
| /checkout | OK |
| /product/gift-card | コンソールエラー |
| /product/camera | 画像404 |
壊れているページには、単なる成功・失敗の判定ではなく、原因を示すコンソールエラーや失敗したリクエストの情報が添えられて返ってきます。
ego (lite) が適する領域、適さない領域
高速な内部ループ用に構築されており、開発中に再現、デバッグ、検証できます。
ego (lite) が得意なこと
実際のブラウザで回る内部ループ。
- 実際のログインしたブラウザでバグを再現し、デバッグします。
- ログイン自動化を行わないサインインの背後にあるテスト フロー
- コンソールエラー、失敗したリクエスト、ページ状態の読み取り
- 多くのページにわたる探索的チェックを並行して実行する
- バグを発見したのと同じセッションで修正を確認します
Playwright を使うべきタイミング
境界については正直です。
- CI で無人実行するヘッドレス回帰テスト(ego (lite) は画面を備えた Mac 用ブラウザです)
- Firefox と WebKit を使うテスト(ego (lite) は Chromium ベースです)
- コミットして所有する、バージョン管理された決定論的なテスト スイート
エージェントにテスト用の実際のブラウザを提供します
Mac 版 ego (lite) をダウンロードFAQ
いいえ。すでに使用している AI エージェント (Claude Code、Codex、Cursor など) を使用して、チェックする内容を平易な言葉で伝えます。エージェントはブラウザのステップを作成して実行します。 ego (lite) はページのセマンティック スナップショットから要素を検索するため、保守する .spec ファイルや手書きする CSS セレクターはありません。
Playwright MCP は、エージェントがアクションごとに 1 つのツール呼び出しを実行する MCP サーバーです。そのため、15 ステップのタスクはモデルへの 15 往復を意味しますが、これは時間がかかり、トークンを消費します。 ego (lite) はブラウザそのものです。エージェントは、実際にログインしているブラウザ上で多くのステップを一度に実行する 1 つの短い JavaScript パスを作成します。 Opus 4.8 を使用した Claude Code での同じタスクのテストでは、ego (lite) モデルでは 2 往復で約 18 秒で終了しましたが、Playwright MCP では約 43 秒で 9 往復で終了しました。また、多くのテスト タスクをそれぞれ独自のSpaceで並行して実行しますが、これは単一の MCP ブラウザーでは実行できません。
はい、ここが光る場所です。 ego (lite) は、すでにサインインされている独自の日常ブラウザであるため、最初にログイン自動化を構築しなくても、エージェントはダッシュボード、内部管理パネル、アカウント フローをテストします。実際の人間のセッションのように動作するため、ヘッドレス ブラウザや新しく起動したブラウザよりも、CAPTCHA やボット検出に引っかかる可能性がはるかに低くなります。
各タスクは、同じプロファイルの追加の windows のように、同じブラウザ内の別個のワークSpacesである独自のSpacesで実行されます。Spacesはログイン情報を共有しますが、独自のページを保持するため、並列実行が相互に衝突したり、作業しているタブと衝突したりすることはありません。Web サイトにとっては、サインインした 1 人のユーザーが複数のタブを開いているように見えます。アプリでアカウントごとにアクティブなセッションが 1 つだけ許可されている場合は、それらのフローを一度に 1 つずつ実行するか、テスト アカウントを使用します。
はい、エージェントがベースラインのスクリーンショットと新しいスクリーンショットをキャプチャし、それらをピクセルごとに比較し、何がどこで変更されたかを通知するという意味で、はい。これは、ブラウザ内で差分を実行するエージェントであり、セットアップする別のビジュアル テスト製品ではないため、Percy や Chromatic を接続する必要はありません。レビュー ワークフローと CI ゲートを備えたマネージド ベースライン サービスの場合は、専用のビジュアル テスト ツールの方が適しています。
今日は違います。 ego (lite) は、Mac 上にある本物のブラウザで、開発中のテスト用に構築されています。バグの再現、デバッグ、修正の検証、ページ全体のチェックの実行を行います。 CI で無人で実行されるヘッドレス スイートの場合、または Firefox と WebKit にわたるテストの場合は、Playwright テスト スイートを保持します。 ego (lite) は、CI ランナーではなく、高速のインナー ループです。
実際のユーザーが遭遇する可能性のある機能上および実行時の問題: 壊れるフロー、何もしないボタン、捕捉されない JavaScript エラー、失敗したネットワーク リクエスト、コンソール エラー、間違った値が表示される。エージェントはページの状態に加えてコンソールとネットワークを読み取るため、単に緑か赤かだけでなく、何がどこで失敗したかを報告します。
エージェントは独自のSpaceで動作するため、タブと windows は変更されず、すべてが実際に表示されるブラウザ ウィンドウで行われ、エージェントの CLI からいつでも監視したり中断したりできます。閲覧データは自分のコンピュータに残ります。ego (lite) は履歴、Cookie、またはセッションをアップロードしません。実際に料金が発生するチェックアウトなど、実際の副作用のあるフローの場合は、手動でテストするのと同じ方法で、エージェントをローカルホストまたはステージングに向けます。外部エージェントまたはモデル プロバイダーに接続する場合、そのプロバイダーには独自のデータ ポリシーがあります。