使用 AI Agent 同時執行多項瀏覽器測試
Playwright MCP 一次只能透過一項工具呼叫驅動瀏覽器,速度慢且消耗大量 Token。現在,Claude Code 或 Codex 只需幾行程式碼,就能在 ego (lite) 中執行完整測試:速度提升 2.4 倍,還能同時執行多項測試,每項測試都在獨立 Space 中運行。
只需詢問即可運行瀏覽器測試
例如,我要求codex檢查這個電子商務網站是否有任何錯誤。 Codex 將運行整個測試,修復所有錯誤並告訴我結果。我唯一需要做的就是滾動 Tiktok 並觀看它的工作。
同一頁面在螢幕上從損壞的位置轉到右側
產品頁面顯示異常。 Agent 會在 ego (lite) 中檢查頁面、修正原始碼中的 CSS,開啟的頁面隨即在螢幕上正確重新算繪。
使用 ego (lite) 極速執行瀏覽器測試
傳統瀏覽器測試通常使用 Playwright MCP 或 Chrome DevTools MCP,一次只執行一項工具呼叫;每一步都要等待模型讀取上一步結果,因此既慢又昂貴。現在,Agent 可以透過 ego (lite),用一段 JavaScript 一次執行多個步驟,更快完成任務並消耗更少的 Token。
| ego (lite) | Playwright MCP | Chrome DevTools MCP | |
|---|---|---|---|
| Agent 如何驅動它 | 通過/ego-browser 技能 | 外部 MCP 服務器。每個操作呼叫一個工具。 | 外部 MCP 服務器。每個操作呼叫一個工具。 |
| 設置 | 無需設置,可與任何 Agent 配合使用。 | npx 安裝、啟動模式配置、頻繁啟動和 Chrome-發現錯誤。 | Remote debugging, user-data-dir, cross-host setup. |
| Token 使用量 | 低。沒有 MCP 工具模式,只有 Agent 記錄的內容進入上下文:每次傳遞一個快照,而不是每個操作後一個快照。 | 高。使用者回報 Token 消耗增至 6 倍,並出現 20 萬 Token 的上下文溢位。 | 高。螢幕截圖是昂貴的。 |
| 登入狀態 | 你自己的已登入瀏覽器,沿用 Chrome 的登入狀態 | 默認隔離瀏覽器;攜帶登入意味著擴展模式或存儲狀態設置。 | 可以附加,但會抓取您正在使用的分頁。 |
| iframe / Shadow DOM / SDK 小部件 | 它的頁面快照內置於渲染引擎中,因此它可以讀取所有頁面快照。 | 輔助功能快照存在 iframe 盲點。 | 原始 DOM,你自己處理。 |
| 控制檯/網絡/跟蹤 | 控制檯、網絡和跟蹤,直接從 Chrome DevTools 資料讀取。 | 控制檯、網絡、螢幕截圖。 | 最深:燈塔、性能、內存。 |
| 定位器穩定性 | 以語義標籤定位,不受 class name 變更影響。 | 參考文獻/可訪問性,相當穩定。 | 原始 DOM 選擇器。 |
| 驗證碼/機器人檢測 | 真正的人類會話,最不可能絆倒它。 | 獨立/無頭瀏覽器,經常被標記。 | 連接後效果更好,但會抓住您的標籤。 |
| 並行任務 | 旨在支持通過 Spaces 同時運行多個任務。 | 每臺服務器一個會話;並行運行意味著管理額外的隔離實例。 | 單實例、大標籤計數會導致崩潰。 |
摩擦從來都不是瀏覽器。這是中間的一層。
在開發者論壇和問題追蹤平台上,大家最常抱怨的是 MCP。它位於 Agent 與瀏覽器之間,容易發生連線中斷、核准堆積、工作階段失效和 Token 消耗激增等問題。ego (lite) 已完成必要設定,不必再處理這些難以排查的錯誤。
瀏覽器可以工作。與它的聯繫則不然。
- 連接: 工具顯示,但 Agent 不會呼叫它們,在“等待批准”時運行停止,並且同一服務器在每個客戶端中的行為不同
- 批准: 每次工具呼叫都會出現彈出視窗;即使啟用「全部執行」,單一任務通常仍會出現 10 到 30 個彈出視窗
- 可靠性: 完成一半的任務,或者已經成功但仍然超時的導航
沒有中間層:ego (lite) 本身就是瀏覽器
- 設計穩定: Agent 直接與其擁有的本地瀏覽器對話,中間沒有 MCP 傳輸來丟棄或停止
- 更少的批准: 一次運行多個步驟,而不是每個操作呼叫一次工具
- 可預測: 每次都以同樣的方式使用任何 AI Agent
沒有測試腳本。無需維護選擇器。就說要檢查什麼吧。
使用 Playwright、Cypress 或 Selenium 測試時,你需要編寫測試並維護選擇器;類名一改或佈局一調整,測試就可能失效。ego (lite) 接收自然語言檢查要求,並根據元素的實際含義來定位,因此 UI 變化不會輕易破壞測試。
您編寫規範,維護選擇器
- 手寫並版本a
.spec對於您想要涵蓋的每個流程 - 引腳選擇器如
page.click(".btn-x7f3")下次 UI 更改時會中斷 - 添加等待和重試來對抗脆弱性
- 構建登入自動化或存儲狀態文件以在登入後進行測試
- 每次重新設計後重新運行並修復套件
只說要檢查什麼
- 無規格可寫:用一句話告訴您的 Agent 支票
- 根據元素的含義而不是 CSS 類來定位元素,因此重命名或重新排列不會破壞它
- 智能等待處理異步內容,無需手動睡眠
- 在沒有登入自動化的情況下進行登入後的測試
- 需要視覺迴歸測試嗎?Agent 對比截圖
對於在 CI 中無人值守運行的版本化、無頭套件,或者跨 Firefox 和 WebKit 進行測試, 保留Playwright。ego (lite) 則是在開發過程中快速、無需腳本的內部迭代工具。
AI Agent 如何操控 ego (lite)
Agent 通過編寫一個完整的JavaScript程序來驅動瀏覽器。單個呼叫捆綁了每個步驟:打開商店、添加產品、等待結帳,並在瀏覽器中按順序運行它們,因此 Agent 永遠不會等待一個操作返回後再發送下一個操作。
它處理通常使瀏覽器測試不穩定的問題
我們測試了開發者公認最難自動化的場景,Agent 透過 ego (lite) 全部順利完成。它的語義 Snapshot 直接在 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.
落在被覆蓋或禁用的按鈕上的點擊將被報告為失敗,而不是錯誤通過,這與真正的測試框架處理它的方式相同。
已登入的瀏覽器,控制權仍在你手中
讓 Agent 在您登入的瀏覽器中自由活動是值得暫停的事情。這就是邊界所在。
它在自己的Space中工作
該 Agent 在瀏覽器內的單獨工作區中運行。它會共享您的登入信息,但您的分頁和windows保持不變。
每一步都看得見
在 Mac 上使用真正可見的瀏覽器,而不是隱藏的 headless 程序。你可以即時查看執行過程,並隨時從 Agent CLI 中斷任務。
什麼都沒有離開你的Mac
瀏覽記錄、Cookie 和工作階段都保留在你的電腦上,ego (lite) 不會上傳這些資料。
當流程會產生真實後果,例如結帳扣款或刪除資料時,請讓 Agent 使用 localhost 或預備環境, 與手動測試的方式相同.
如何使用,一步一步
Web 應用程式測試分為三個步驟:將 Agent 指向本地主機或任何 URL,說出要檢查的內容,然後讀回失敗的內容。
你每天使用的 Chromium 瀏覽器。一鍵匯入 Chrome 登入資訊,讓 Agent 以你的身分執行測試。
應該測試什麼?
/ego-browser 打開 localhost:3000,進行結帳,然後告訴我出了什麼問題
類型 /ego-browser 只需用您的 Agent 能夠理解的任何語言說出要檢查的內容即可。
| 頁面 | 結果 |
|---|---|
| /checkout | 好的 |
| /product/gift-card | 控制檯錯誤 |
| /product/camera | 圖像 404 |
每個損壞的頁面都會返回控制檯錯誤或失敗的請求來解釋它,而不僅僅是通過或失敗。
ego (lite) 適用與不適用的場景
專為快速內部循環而構建:在開發時重現、調試和驗證。
ego (lite) 擅長什麼
真實瀏覽器中的內循環。
- 在真實的登入瀏覽器中重現和調試錯誤
- 沒有登入自動化的登入後的測試流程
- 讀取控制檯錯誤、失敗的請求和頁面狀態
- 並行在多個頁面上運行探索性檢查
- 在您發現錯誤的同一會話中驗證修復
何時到達Playwright
誠實地對待邊界。
- 在 CI 中無人值守執行的無頭迴歸測試(ego (lite) 是一款有介面的 Mac 瀏覽器)
- 跨 Firefox 和 WebKit 測試(ego (lite) 基於 Chromium)
- 您提交併擁有的版本化、確定性測試套件
為您的 Agent 提供一個真實的瀏覽器來進行測試
下載 Mac 版 ego (lite)FAQ
不需要。您帶上已使用的 AI Agent,例如 Claude Code、Codex 或 Cursor,並用簡單語言告訴它要檢查的內容。 Agent 為您編寫並運行瀏覽器步驟。無需維護 .spec 文件,也無需手寫 CSS 選擇器,因為 ego (lite) 從頁面的語義快照中定位元素。
Playwright MCP 是一個 MCP 伺服器,Agent 的每個操作都需要一次工具呼叫;15 個步驟就代表模型往返 15 次,速度慢且 Token 消耗高。ego (lite) 本身就是瀏覽器:Agent 在真實登入的瀏覽器中撰寫一小段 JavaScript,一次執行多個步驟。我們使用 Opus 4.8 在 Claude Code 中測試同一項任務時,ego (lite) 約 18 秒完成,只需 2 次模型往返;Playwright MCP 則約需 43 秒和 9 次往返。ego (lite) 還能並行執行多個測試任務,每個任務都位於自己的 Space 中,這是單一 MCP 瀏覽器無法做到的。
是的,這就是它的閃光點。 ego (lite) 是您自己的日常瀏覽器,已經登入,因此 Agent 可以測試儀表板、內部管理面板和帳戶流程,而無需您先構建登入自動化。因為它的行為就像真正的人類會話,所以與無頭瀏覽器或新啟動的瀏覽器相比,它觸發驗證碼或機器人檢測的可能性也小得多。
每個任務都在自己的Spaces中運行,即同一瀏覽器內的單獨Spaces,就像同一設定檔的額外 windows 一樣。Spaces共享您的登入信息,但保留自己的頁面,因此並行運行不會相互衝突,也不會與您正在使用的分頁發生衝突。對於網站來說,它看起來就像一個登入用戶打開了多個分頁。如果您的應用程式只允許每個帳戶一個活動會話,請一次運行一個流程或使用測試帳戶。
是的,從某種意義上說,Agent 捕獲基線螢幕截圖和新螢幕截圖,逐個像素地比較它們,並告訴您發生了什麼變化以及發生在哪裡。它是在瀏覽器中執行差異的 Agent,而不是要設置的單獨的視覺測試產品,因此不需要連接 Percy 或 Chromatic。對於具有審核工作流程和 CI 門控的託管基線服務,專用的視覺測試工具仍然更合適。
不是今天。 ego (lite) 是 Mac 上的一個真正的、有頭的瀏覽器,專為在開發時進行測試而構建:重現錯誤、調試它、驗證修復、跨頁面運行檢查。對於在 CI 中無人值守運行的無頭套件,或者跨 Firefox 和 WebKit 進行測試,請保留您的 Playwright 測試套件。 ego (lite) 是快速內部循環,而不是 CI 運行程序。
真實用戶會遇到的功能和執行環境問題:流程中斷、按鈕不執行任何操作、未捕獲的 JavaScript 錯誤、失敗的網絡請求、控制檯錯誤、輸出錯誤的值。 Agent 讀取頁面狀態以及控制檯和網絡,因此它會報告失敗的原因和位置,而不僅僅是綠色或紅色。
Agent 在自己的Space中工作,因此您的分頁和 windows 保持不變,一切都發生在真實、可見的瀏覽器窗口中,您可以隨時從 Agent 的 CLI 中觀看和中斷。您的瀏覽資料保留在您自己的計算機上:ego (lite) 不會上傳您的歷史記錄、cookie 或會話。對於具有實際副作用的流程(例如實際收費的結帳),請將 Agent 指向本地主機或登臺,就像您手動測試的方式一樣。如果您連接外部 Agent 或模型提供程序,則該提供程序有自己的資料策略。