अपने AI एजेंट से एक साथ कई ब्राउज़र टेस्ट ऑटो-रन करें
Playwright MCP ब्राउज़र को एक-एक करके टूल कॉल से चलाता है: धीमा और टोकन पर भारी। अब Claude Code या Codex बस कुछ लाइन कोड से पूरा टेस्ट ego (lite) में चलाता है: 2.4 गुना तेज़, और कई टेस्ट पैरेलल में, हर एक अपने अलग Space में।
बस बताकर ब्राउज़र टेस्ट चलाएं
जैसे, मैं Codex से कहता हूँ कि यह ई-कॉमर्स वेबसाइट चेक करे कि कोई बग तो नहीं। Codex पूरा टेस्ट चलाता है, सारे बग ठीक करता है और मुझे नतीजा बताता है। मुझे सिर्फ़ TikTok स्क्रॉल करते हुए इसे काम करते देखना होता है।
वही पेज टूटे से सही हो जाता है, स्क्रीन पर
प्रोडक्ट पेज टूटे हुए रेंडर होते हैं। एजेंट उन्हें ego (lite) में देखता है, सोर्स में CSS ठीक करता है, और खुला पेज स्क्रीन पर सही रीरेंडर हो जाता है।
ego (lite) से बिजली की रफ़्तार से ब्राउज़र टेस्ट चलाएं
ब्राउज़र टेस्ट चलाने का पुराना तरीका था Playwright MCP या Chrome DevTools MCP, जो एक-एक करके टूल कॉल चलाते हैं: हर अगला स्टेप मॉडल के पिछला रिज़ल्ट पढ़ने का इंतज़ार करता है, धीमा और महंगा। अब एजेंट ego (lite) के साथ एक ही JS कोड पास में कई स्टेप चला सकते हैं, इसलिए यह तेज़ी से पूरा होता है और कम टोकन खर्च करता है।
| ego (lite) | Playwright एमसीपी | Chrome DevTools MCP | |
|---|---|---|---|
| एजेंट इसे कैसे चलाता है | /ego-browser skill के ज़रिए | एक्सटर्नल MCP सर्वर। हर एक्शन पर एक टूल कॉल। | एक्सटर्नल MCP सर्वर। हर एक्शन पर एक टूल कॉल। |
| सेटअप | कोई सेटअप नहीं, किसी भी एजेंट के साथ काम करता है। | npx इंस्टॉल, कॉन्फ़िगर करने के लिए लॉन्च मोड, बार-बार लॉन्च और Chrome-डिस्कवरी एरर। | रिमोट डीबगिंग, user-data-dir, क्रॉस-होस्ट सेटअप। |
| टोकन इस्तेमाल | कम। कोई MCP टूल स्कीमा नहीं, और सिर्फ़ वही जो एजेंट लॉग करता है कॉन्टेक्स्ट में जाता है: हर पास में एक स्नैपशॉट, हर एक्शन के बाद नहीं। | ज़्यादा। यूज़र्स 6 गुना टोकन बढ़ने और 200K-टोकन कॉन्टेक्स्ट ओवरफ़्लो की शिकायत करते हैं। | ज़्यादा। स्क्रीनशॉट टोकन के लिहाज़ से महंगे होते हैं। |
| लॉगिन स्टेट | आपका अपना लॉग-इन ब्राउज़र। आपके Chrome के जैसी ही लॉगिन स्टेट | डिफ़ॉल्ट रूप से अलग-थलग ब्राउज़र; लॉगिन साथ लाने के लिए एक्सटेंशन मोड या storage-state सेटअप चाहिए। | अटैच हो सकता है, लेकिन आपके इस्तेमाल में मौजूद टैब पर कब्ज़ा कर लेता है। |
| iframe / shadow DOM / SDK विजेट | इसका पेज स्नैपशॉट रेंडरिंग इंजन में ही बना होता है, इसलिए यह इन सभी के अंदर तक पढ़ पाता है। | एक्सेसिबिलिटी स्नैपशॉट में iframe एक अंधा कोना है। | रॉ DOM, आप खुद संभालते हैं। |
| कंसोल / नेटवर्क / ट्रेस | कंसोल, नेटवर्क और ट्रेस, सीधे Chrome DevTools डेटा से पढ़े जाते हैं। | कंसोल, नेटवर्क, स्क्रीनशॉट। | सबसे गहरा: Lighthouse, परफ़ॉर्मेंस, मेमोरी। |
| लोकेटर स्थिरता | सिमैंटिक लेबल पर टिका होता है, क्लास बदलने पर भी बचा रहता है। | Ref / एक्सेसिबिलिटी, काफ़ी स्थिर। | रॉ DOM सिलेक्टर। |
| CAPTCHA / बॉट डिटेक्शन | असली ह्यूमन सेशन, इसके पकड़े जाने की सबसे कम संभावना। | अलग / हेडलेस ब्राउज़र, अक्सर फ़्लैग हो जाता है। | अटैच करने पर बेहतर, लेकिन आपके टैब पर कब्ज़ा कर लेता है। |
| पैरेलल टास्क | Space के ज़रिए एक साथ कई टास्क चलाने के लिए ही बना। | हर सर्वर पर एक सेशन; पैरेलल रन के लिए एक्स्ट्रा अलग-थलग इंस्टेंस मैनेज करने होते हैं। | सिंगल इंस्टेंस, ज़्यादा टैब होने पर क्रैश हो जाता है। |
दिक्कत कभी ब्राउज़र में नहीं थी। दिक्कत बीच की लेयर में थी।
डेवलपर फ़ोरम और इशू ट्रैकर पर सबसे ज़्यादा शिकायतें MCP को लेकर होती हैं — यह आपके एजेंट और ब्राउज़र के बीच की लेयर है: कनेक्शन ड्रॉप होता है, अप्रूवल जमा होते जाते हैं, सेशन टूट जाता है, टोकन बढ़ते जाते हैं। ego (lite) में सब कुछ पहले से सेटअप है, इसलिए अजीब एरर नहीं आते।
ब्राउज़र काम करता है। उससे जुड़ने वाला कनेक्शन नहीं करता।
- कनेक्शन: टूल दिखते तो हैं पर एजेंट उन्हें कॉल नहीं करता, रन "waiting for approval" पर अटक जाते हैं, और वही सर्वर हर क्लाइंट में अलग व्यवहार करता है
- अप्रूवल: हर टूल कॉल पर एक पॉपअप, अक्सर एक टास्क में 10 से 30 तक — "run everything" ऑन होने पर भी
- भरोसेमंदी: आधा-अधूरा रुका टास्क, या ऐसा नेविगेशन जो सफल तो हो चुका पर फिर भी टाइमआउट हो जाए
बीच में कुछ नहीं: ego (lite) खुद ब्राउज़र है
- डिज़ाइन से ही स्थिर: एजेंट सीधे अपने लोकल ब्राउज़र से बात करता है, बीच में कोई MCP ट्रांसपोर्ट नहीं जो ड्रॉप या स्टॉल हो
- कम अप्रूवल: एक ही पास में कई स्टेप चलते हैं, हर एक्शन पर एक टूल कॉल नहीं
- अनुमानित: किसी भी AI एजेंट के साथ सीधे इस्तेमाल हो, हर बार एक जैसे तरीके से
कोई टेस्ट स्क्रिप्ट नहीं। कोई सिलेक्टर मेंटेन नहीं करना। बस बताएं क्या चेक करना है।
Playwright testing, Cypress testing, Selenium: आप टेस्ट लिखते हैं, सिलेक्टर आप ओन करते हैं, और क्लास का नाम बदलने या लेआउट फेरबदल से ये टूट जाते हैं। ego (lite) एक सादी-भाषा वाला चेक लेता है और एलिमेंट को उनके मतलब से ढूंढता है, इसलिए UI बदलने पर टेस्ट नहीं टूटता।
आप spec लिखते हैं, आप सिलेक्टर मेंटेन करते हैं
- हाथ से लिखें और वर्जन करें एक
.specहर उस फ़्लो के लिए जिसे आप कवर करना चाहते हैं - सिलेक्टर पिन करें जैसे
page.click(".btn-x7f3")जो अगली बार UI बदलते ही टूट जाते हैं - फ़्लेकीनेस से खुद निपटने के लिए wait और retry जोड़ना
- साइन-इन के पीछे टेस्ट करने के लिए लॉगिन ऑटोमेशन या storage-state फ़ाइलें बनाना
- हर रीडिज़ाइन के बाद सूट फिर से चलाना और ठीक करना
बस बताएं क्या चेक करना है
- कोई spec नहीं लिखनी: बस एक वाक्य में एजेंट को चेक बताएं
- एलिमेंट को उनके मतलब से ढूंढता है, CSS क्लास से नहीं, इसलिए नाम बदलने या फेरबदल से यह नहीं टूटता
- स्मार्ट wait एसिंक कॉन्टेंट संभालते हैं, कोई हाथ से बनाया sleep नहीं
- बिना लॉगिन ऑटोमेशन के आपके साइन-इन के पीछे टेस्ट करता है
- विज़ुअल रिग्रेशन टेस्टिंग चाहिए? एजेंट स्क्रीनशॉट की तुलना करता है
CI में बिना निगरानी चलने वाले वर्जन्ड, हेडलेस सूट के लिए, या Firefox और WebKit पर टेस्टिंग के लिए, Playwright रखें. ego (lite) डेवलप करते समय तेज़, ज़ीरो-स्क्रिप्ट इनर लूप है।
AI एजेंट ego (lite) को कैसे चलाते हैं
एजेंट एक पूरा JavaScript प्रोग्राम लिखकर ब्राउज़र चलाता है। एक ही कॉल में हर स्टेप बंडल होता है: स्टोर खोलना, प्रोडक्ट जोड़ना, चेकआउट का इंतज़ार करना — और यह सब ब्राउज़र के अंदर क्रम में चलता है, इसलिए अगला एक्शन भेजने से पहले एजेंट को पिछले के रिज़ल्ट का इंतज़ार नहीं करना पड़ता।
यह वह सब संभालता है जो आमतौर पर ब्राउज़र टेस्ट को फ़्लेकी बनाता है
हमने वे सिनेरियो चलाए जिन्हें डेवलपर सबसे मुश्किल ऑटोमेट करने के लिए मानते हैं। ego (lite) के साथ, एजेंट ने सभी को संभाल लिया। इसका सिमैंटिक स्नैपशॉट खुद Chromium रेंडरिंग इंजन के अंदर बनता है, इसलिए यह shadow root और cross-document 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 से कुछ भी बाहर नहीं जाता
हिस्ट्री, कुकीज़ और सेशन आपके कंप्यूटर पर ही रहते हैं। ego (lite) उन्हें अपलोड नहीं करता।
और जब किसी फ़्लो के असली साइड इफ़ेक्ट हों, जैसे पेमेंट लेने वाला चेकआउट या डेटा मिटाने वाला डिलीट, तो एजेंट को localhost या staging पर पॉइंट करें, बिल्कुल वैसे ही जैसे आप हाथ से टेस्ट करते.
कैसे इस्तेमाल करें, स्टेप बाय स्टेप
तीन स्टेप में वेब ऐप टेस्टिंग: अपने एजेंट को localhost या किसी भी URL पर पॉइंट करें, बताएं क्या चेक करना है, और पढ़ें क्या फ़ेल हुआ।
एक Chromium ब्राउज़र जो आप रोज़ इस्तेमाल करते हैं। एक क्लिक में आपके Chrome लॉगिन इंपोर्ट हो जाते हैं, तो एजेंट आपकी तरह ही टेस्ट करता है।
इसे क्या टेस्ट करना चाहिए?
/ego-browser localhost:3000 खोलो, चेकआउट से गुज़रो, और बताओ क्या टूटा है
टाइप करें /ego-browser और बस बताएं क्या चेक करना है, किसी भी भाषा में जो आपका एजेंट समझता है।
| पेज | नतीजा |
|---|---|
| /checkout | ठीक है |
| /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, OpenAI Codex, या Cursor, और उसे सादी भाषा में बताते हैं क्या चेक करना है। एजेंट आपके लिए ब्राउज़र स्टेप्स खुद लिखता और चलाता है। न कोई .spec फ़ाइल मेंटेन करनी है, न CSS सिलेक्टर हाथ से लिखना, क्योंकि ego (lite) पेज के सिमैंटिक स्नैपशॉट से एलिमेंट ढूंढ लेता है।
Playwright MCP एक MCP सर्वर है जिसे आपका एजेंट हर एक्शन पर एक टूल कॉल से चलाता है, तो पंद्रह-स्टेप के टास्क में मॉडल तक पंद्रह राउंड ट्रिप लगते हैं, जो धीमा है और टोकन खाता है। ego (lite) खुद ब्राउज़र है: एजेंट एक छोटा JavaScript पास लिखता है जो आपके असली लॉग-इन ब्राउज़र पर एक साथ कई स्टेप चला देता है। Claude Code में Opus 4.8 के साथ एक ही टास्क पर हमारे टेस्ट में, ego (lite) करीब 18 सेकंड और 2 मॉडल राउंड ट्रिप में पूरा हुआ, जबकि Playwright MCP को करीब 43 सेकंड और 9 राउंड ट्रिप लगे। यह कई टेस्ट टास्क पैरेलल में भी चलाता है, हर एक अपने अलग Space में — जो एक अकेला MCP ब्राउज़र नहीं कर सकता।
हाँ, और यहीं यह सबसे बेहतर साबित होता है। ego (lite) आपका अपना रोज़ का ब्राउज़र है, पहले से साइन-इन, इसलिए एजेंट बिना पहले लॉगिन ऑटोमेशन बनाए डैशबोर्ड, इंटरनल एडमिन पैनल और अकाउंट फ़्लो टेस्ट कर सकता है। यह असली ह्यूमन सेशन जैसा व्यवहार करता है, इसलिए हेडलेस या ताज़ा लॉन्च हुए ब्राउज़र के मुक़ाबले CAPTCHA या बॉट डिटेक्शन में फँसने की संभावना भी कहीं कम है।
हर टास्क अपने अलग Space में चलता है, यानी उसी ब्राउज़र के अंदर एक अलग वर्कस्पेस, जैसे उसी प्रोफ़ाइल की एक्स्ट्रा विंडो। Space आपके लॉगिन शेयर करते हैं पर अपने अलग पेज रखते हैं, इसलिए पैरेलल रन आपस में या आपके इस्तेमाल में मौजूद टैब से नहीं टकराते। वेबसाइट को यह एक ही साइन-इन यूज़र के कई खुले टैब जैसा दिखता है। अगर आपका ऐप हर अकाउंट पर सिर्फ़ एक एक्टिव सेशन देता है, तो उन फ़्लो को एक-एक करके चलाएं या टेस्ट अकाउंट इस्तेमाल करें।
हाँ, इस मायने में कि एजेंट एक बेसलाइन स्क्रीनशॉट और एक नया स्क्रीनशॉट लेता है, पिक्सल-दर-पिक्सल तुलना करता है, और बताता है क्या बदला और कहाँ। यह एजेंट है जो आपके ही ब्राउज़र में यह तुलना करता है, कोई अलग विज़ुअल-टेस्टिंग प्रोडक्ट सेटअप नहीं करना — तो Percy या Chromatic जोड़ने की ज़रूरत नहीं। रिव्यू वर्कफ़्लो और CI गेटिंग वाली मैनेज्ड बेसलाइन सर्विस चाहिए तो कोई डेडिकेटेड विज़ुअल-टेस्टिंग टूल अब भी बेहतर फ़िट है।
फ़िलहाल नहीं। ego (lite) आपके Mac पर एक असली, दिखने वाला ब्राउज़र है, जो डेवलप करते समय टेस्टिंग के लिए बना है: बग रिप्रोड्यूस करें, डीबग करें, फ़िक्स वेरिफ़ाई करें, अपने पेजों पर चेक चलाएं। CI में बिना निगरानी चलने वाले हेडलेस सूट के लिए, या Firefox और WebKit पर टेस्टिंग के लिए, अपना Playwright टेस्ट सूट रखें। ego (lite) तेज़ इनर लूप है, CI रनर नहीं।
वे फ़ंक्शनल और रनटाइम इशू जो किसी असली यूज़र को झेलने पड़ते: टूटा हुआ फ़्लो, बटन जो कुछ नहीं करता, अनकॉट JavaScript एरर, फ़ेल्ड नेटवर्क रिक्वेस्ट, कंसोल एरर, गलत आया हुआ वैल्यू। एजेंट पेज स्टेट के साथ-साथ कंसोल और नेटवर्क भी पढ़ता है, इसलिए वह बताता है क्या फ़ेल हुआ और कहाँ, सिर्फ़ हरा या लाल निशान नहीं।
एजेंट अपने ही Space में काम करता है, इसलिए आपके टैब और विंडो को हाथ नहीं लगता, और सब कुछ एक असली, दिखने वाली ब्राउज़र विंडो में होता है जिसे आप कभी भी अपने एजेंट के CLI से देख और रोक सकते हैं। आपका ब्राउज़िंग डेटा आपके अपने कंप्यूटर पर ही रहता है: ego (lite) आपकी हिस्ट्री, कुकीज़ या सेशन कहीं अपलोड नहीं करता। जिन फ़्लो के असली साइड इफ़ेक्ट हों, जैसे वाकई पेमेंट लेने वाला चेकआउट, वहाँ एजेंट को localhost या staging पर पॉइंट करें — बिल्कुल वैसे ही जैसे आप हाथ से टेस्ट करते। अगर आप कोई बाहरी एजेंट या मॉडल प्रोवाइडर कनेक्ट करते हैं, तो उसकी अपनी डेटा पॉलिसी लागू होती है।