Запускайте параллельно множество тестов браузера силами вашего ИИ-агента
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) агенты выполняют сразу несколько шагов за один проход JavaScript-кода, быстрее завершают задачу и тратят меньше токенов.
| ego (lite) | Playwright MCP | Chrome DevTools MCP | |
|---|---|---|---|
| Как агент им управляет | Через навык /ego-browser | Внешний MCP-сервер. Один вызов инструмента на каждое действие. | Внешний MCP-сервер. Один вызов инструмента на каждое действие. |
| Настройка | Без настройки, работает с любым агентом. | установка через npx, режимы запуска на настройку, частые ошибки запуска и поиска Chrome. | Удалённая отладка, user-data-dir, настройка между хостами. |
| Расход токенов | Низкий. Никаких схем MCP-инструментов, в контекст попадает только то, что агент сам логирует: один снимок на проход, а не после каждого действия. | Высокий. Пользователи сообщают о шестикратном росте токенов и переполнении контекста на 200 тысяч токенов. | Высокий. Скриншоты дорого стоят по токенам. |
| Состояние сессии | Ваш собственный браузер с активной сессией — то же состояние входа, что и в вашем Chrome | По умолчанию изолированный браузер; чтобы перенести логины, нужен режим расширения или настройка storage-state. | Может подключиться, но забирает вкладки, которыми вы пользуетесь. |
| iframe / shadow DOM / виджеты сторонних SDK | Снимок страницы встроен прямо в движок рендеринга, поэтому агент видит содержимое всех них. | У снимка дерева доступности есть слепая зона в iframe. | Сырой DOM — разбираетесь сами. |
| Консоль / сеть / трейс | Консоль, сеть и трейсы — читает напрямую из данных Chrome DevTools. | Консоль, сеть, скриншоты. | Глубже всего: Lighthouse, производительность, память. |
| Устойчивость локаторов | Привязывается к семантическим меткам — переименование классов его не ломает. | Ref / accessibility-дерево — довольно стабильно. | Сырые DOM-селекторы. |
| CAPTCHA/обнаружение ботов | Настоящая пользовательская сессия — меньше всего шансов её спалить. | Отдельный / headless-браузер — часто палится антибот-системами. | Лучше работает в режиме подключения, но забирает себе ваши вкладки. |
| Задачи параллельно | Изначально рассчитан на параллельные задачи через Space. | Одна сессия на сервер; для параллельных прогонов нужно поднимать отдельные изолированные инстансы. | Один инстанс — при большом числе вкладок падает. |
Проблема была не в браузере. Проблема была в прослойке между ним и агентом.
На форумах разработчиков и в трекерах чаще всего жалуются на MCP — слой между агентом и браузером: соединение обрывается, подтверждения накапливаются, сессия ломается, а расход токенов растёт. В ego (lite) всё уже настроено, поэтому таких странных ошибок больше нет.
Браузер работает нормально. А вот связь с ним — нет.
- Подключение: инструменты видны, но агент их не вызывает, прогон зависает на «ожидании подтверждения», а один и тот же сервер ведёт себя по-разному в разных клиентах
- Одобрения: всплывающее окно подтверждения на каждый вызов инструмента — часто 10–30 за одну задачу, даже с включённым «выполнять всё»
- Надёжность: задача, которая застревает на середине, или переход, который уже случился, но всё равно уходит в таймаут
Без промежуточного слоя: ego (lite) и есть браузер
- Стабильно по конструкции: агент говорит напрямую со своим локальным браузером — без MCP-транспорта посередине, который может оборваться или зависнуть
- Меньше подтверждений: один проход выполняет много шагов вместо вызова инструмента на каждое действие
- Предсказуемо: подключается к любому ИИ-агенту одинаково, каждый раз
Никаких тестовых скриптов. Никаких селекторов на поддержке. Просто скажите, что проверить.
В Playwright, Cypress или Selenium вы сами пишете тест и поддерживаете селекторы; достаточно переименовать класс или изменить макет, чтобы всё сломалось. ego (lite) принимает проверку на естественном языке и находит элементы по смыслу, поэтому изменения интерфейса не ломают тест.
Вы пишете спецификацию, вы же поддерживаете селекторы
- Писать вручную и версионировать
.specдля каждого сценария, который нужно покрыть - Селекторы вроде
page.click(".btn-x7f3")которые ломаются при следующем изменении интерфейса - Самостоятельно добавлять ожидания и повторы, чтобы бороться с нестабильностью тестов
- Писать автоматизацию входа или файлы storage-state, чтобы тестировать страницы за авторизацией
- Перезапускать и чинить набор тестов после каждого редизайна
Просто скажите, что проверить
- Не нужно писать спецификацию — опишите проверку агенту одной фразой
- Находит элементы по смыслу, а не по CSS-классу, поэтому переименование или перестройка вёрстки тест не ломает
- Умные ожидания сами разбираются с асинхронным контентом — без ручных sleep
- Тестирует сценарии за авторизацией без автоматизации входа
- Нужно визуальное регрессионное тестирование? Агент сравнивает скриншоты попиксельно
Для версионируемого headless-набора без участия человека в CI или для тестов в Firefox и WebKit оставьте Playwright. ego (lite) обеспечивает быстрый цикл проверки во время разработки без написания скриптов.
Как ИИ-агенты управляют ego (lite)
Агент управляет браузером, написав одну цельную программу на JavaScript. Один вызов объединяет все шаги — открыть магазин, добавить товар, дождаться оформления заказа — и выполняет их по порядку прямо в браузере, так что агенту не нужно ждать ответа на каждый шаг перед следующим.
Справляется именно с тем, из-за чего браузерные тесты обычно нестабильны
Мы проверили сценарии, которые разработчики считают самыми сложными для автоматизации, и агенты справились со всеми с помощью ego (lite). Его семантический Snapshot создаётся непосредственно в движке рендеринга Chromium, поэтому видит Shadow Roots и междокументные 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, а не скрытый headless-процесс. Наблюдайте за прогоном вживую и прервите его из CLI агента в любой момент.
Ничего не покидает ваш Mac
История, файлы cookie и сессии остаются на вашем компьютере. ego (lite) их не загружает.
А если у сценария есть реальные побочные эффекты — оплата, которая правда спишет деньги, или удаление, которое правда удалит — направьте агента на localhost или стейджинг, точно так же, как вы бы тестировали руками.
Как пользоваться, шаг за шагом
Тестирование веб-приложения в три шага: направьте агента на localhost или любой URL, скажите, что проверить, получите отчёт о том, что сломалось.
Тот же Chromium-браузер, которым вы пользуетесь каждый день. Один клик — и логины из Chrome перенесены, так что агент тестирует от вашего имени.
Что именно он должен тестировать?
/ego-browser Открой localhost:3000, пройди оформление заказа и скажи, что сломано
Тип /ego-browser и просто скажите, что проверить, на любом языке, который понимает ваш агент.
| Страница | Результат |
|---|---|
| /checkout | ОК |
| /product/gift-card | ошибка консоли |
| /product/camera | изображение 404 |
Каждая сломанная страница возвращается с конкретной ошибкой консоли или упавшим запросом, которые всё объясняют — а не просто «пройден/не пройден».
Когда подходит ego (lite), а когда нет
Создан для быстрого цикла разработки: воспроизвести баг, отладить, проверить фикс — не отрываясь от работы.
В чём ego (lite) особенно хорош
Быстрый цикл разработки — в настоящем браузере.
- Воспроизводите и отлаживайте баг прямо в настоящем браузере с активной сессией
- Тестируйте сценарии за авторизацией без автоматизации входа
- Читает ошибки консоли, упавшие запросы и состояние страницы
- Запускайте исследовательские проверки по множеству страниц параллельно
- Проверяйте фикс в той же сессии, где нашли баг
Когда всё же стоит взять Playwright
Честно про границы возможного.
- Headless-регрессия без участия человека в CI (ego (lite) — обычный, видимый браузер для Mac)
- Тестирование в Firefox и WebKit (ego (lite) работает на Chromium)
- Версионируемый, детерминированный набор тестов, который вы коммитите и полностью контролируете
Дайте агенту настоящий браузер для тестирования
Скачать ego (lite) для MacFAQ
Нет. Вы используете уже знакомого ИИ-агента — Claude Code, Codex или Cursor — и объясняете ему обычным языком, что проверить. Агент сам пишет и выполняет шаги в браузере. Никаких .spec-файлов на поддержке и CSS-селекторов вручную — ego (lite) находит элементы по семантическому снимку страницы.
Playwright MCP — это MCP-сервер, где агент дёргает по одному вызову инструмента на каждое действие: задача из пятнадцати шагов означает пятнадцать обращений к модели — медленно и затратно по токенам. ego (lite) — это сам браузер: агент пишет один короткий JavaScript-проход, который выполняет сразу много шагов в вашем настоящем браузере с активной сессией. В нашем тесте на одной и той же задаче в Claude Code с Opus 4.8 ego (lite) справился примерно за 18 секунд и 2 обращения к модели против примерно 43 секунд и 9 обращений у Playwright MCP. Плюс он умеет вести много тестовых задач параллельно, каждую в своём Space — то, чего единственный MCP-браузер не может.
Да, и именно здесь он раскрывается лучше всего. ego (lite) — это ваш обычный повседневный браузер с уже открытой сессией, поэтому агент тестирует дашборды, внутренние админки и сценарии с аккаунтом без предварительной автоматизации входа. А поскольку это выглядит как настоящая пользовательская сессия, шанс споткнуться о капчу или антибот-детектор куда ниже, чем у headless-браузера или свежезапущенного инстанса.
Каждая задача выполняется в своём Space — отдельном рабочем пространстве внутри того же браузера, как ещё одно окно того же профиля. Space используют общие логины, но держат свои страницы, поэтому параллельные прогоны не мешают друг другу и вашим открытым вкладкам. Для сайта это выглядит как один авторизованный пользователь с несколькими вкладками. Если приложение допускает только одну активную сессию на аккаунт, запускайте такие сценарии по очереди или заведите тестовый аккаунт.
Да, в том смысле, что агент делает эталонный скриншот и новый, сравнивает их попиксельно и сообщает, что и где изменилось. Сравнение делает сам агент прямо в вашем браузере — не нужно поднимать отдельный сервис вроде Percy или Chromatic. Для управляемого хранилища эталонов с ревью и CI-гейтингом специализированный инструмент визуального тестирования всё ещё подходит лучше.
Пока нет. ego (lite) — настоящий видимый браузер на вашем Mac, созданный для тестирования во время разработки: воспроизвести баг, отладить, проверить фикс, прогнать проверки по страницам. Для headless-набора в CI без участия человека или тестов в Firefox и WebKit держите свой набор на Playwright. ego (lite) — это быстрый цикл разработки, а не раннер для CI.
Функциональные и рантайм-баги, с которыми столкнётся живой пользователь: сломанный сценарий, кнопка без реакции, необработанная ошибка JavaScript, упавший сетевой запрос, ошибка в консоли, неверное значение на экране. Агент читает состояние страницы вместе с консолью и сетью, поэтому сообщает, что именно и где сломалось — а не просто «зелёный/красный».
Агент работает в своём Space, поэтому ваши вкладки и окна остаются нетронутыми, а всё происходит в настоящем видимом окне браузера, за которым можно наблюдать и которое можно прервать из CLI агента в любой момент. Данные о вашей активности не покидают компьютер: ego (lite) не выгружает историю, cookie или сессии. Для сценариев с реальными последствиями — например, оформление заказа с настоящим списанием — направьте агента на localhost или стейджинг, как и при ручном тестировании. Если вы подключаете внешнего агента или провайдера модели, у него своя политика обработки данных.