Фреймворк для сквозного тестирования веб- и мобильных приложений: описывайте цели тестов обычным языком, а агент будет управлять приложением.
web-infra-dev/midscene
Midscene.js — фреймворк для E2E-тестирования на основе компьютерного зрения: он позволяет описывать шаги UI-тестов и проверки на естественном языке для веб-, мобильных и десктопных приложений.
- Звёзды
- 15,331
- Форки
- 1,201
- Открытые issues
- 123
- Последний коммит
- 5 часов назад
Что это?
Midscene.js добавляет компьютерное зрение на базе AI в сквозное тестирование. В тестах шаги работы с UI и ожидаемые результаты описываются обычным языком, а визуальный GUI-агент находит элементы по скриншотам, нажимает на них, вводит текст, прокручивает экран и проверяет его содержимое. Благодаря этому можно работать с кнопками без подписей, нестандартными элементами управления, содержимым canvas и кросс-доменными iframe, не поддерживая CSS- или XPath-селекторы.
Проект предлагает два варианта начала работы. Midscene Test позволяет описывать тестовые сценарии в YAML и повторно использовать TypeScript-ноды для подготовки окружения, вызовов API и очистки. Другой вариант — добавить Agent API (aiAct, aiTap, aiInput, aiAssert, aiQuery, aiWaitFor) в существующие тесты Playwright или Puppeteer. Поддерживаются веб-браузеры, Android через ADB, iOS через WebDriverAgent, HarmonyOS через HDC и десктопные системы.
Можно выбрать подходящую модель: проект работает с несколькими моделями с поддержкой компьютерного зрения, в том числе с вариантами для самостоятельного хостинга. По результатам запусков тестов формируются интерактивные HTML-отчёты со скриншотами, расположением элементов и результатами действий и проверок.
Ключевые возможности
- 01Описывает действия с UI и проверки на естественном языке, в том числе проверку цветов, расположения элементов и визуальной обратной связи.
- 02Находит элементы по скриншотам, поэтому для кнопок-иконок и содержимого canvas не нужны селекторы.
- 03Поддерживает тестовые сценарии в YAML через Midscene Test с повторно используемыми TypeScript-нодами.
- 04Интегрируется с Playwright и Puppeteer через Agent API.
- 05Поддерживает веб-платформы, Android, iOS, HarmonyOS и десктопные системы.
- 06Создаёт интерактивные HTML-отчёты со скриншотами и результатами выполнения.
Сценарии использования
- Написание сквозных тестов для веб-приложений, в которых селекторы ненадёжны или недоступны.
- Тестирование интерфейсов на основе canvas и визуально отображаемых интерфейсов, которые нельзя проверить с помощью DOM-assertions.
- Добавление визуальных проверок в существующий набор тестов Playwright или Puppeteer.
- Автоматизация сценариев в мобильных приложениях на устройствах и эмуляторах Android или iOS.
Быстрый старт
- 1
Установите пакет Web SDK из npm
- 2
Создайте проект Midscene Test (точную команду настройки см. в руководстве)
- 3
Настройте модель и среду выполнения Web, затем напишите тестовые сценарии в YAML и запустите их
Что важно знать
- Требуется доступ к модели ИИ с возможностями компьютерного зрения; её нужно настроить и оплатить.
- Опубликованные результаты бенчмарков зависят от конкретных моделей и конфигураций запуска.
Темы
Частые вопросы
- Что такое midscene?
- Midscene.js — фреймворк для E2E-тестирования на основе компьютерного зрения: он позволяет описывать шаги UI-тестов и проверки на естественном языке для веб-, мобильных и десктопных приложений. Midscene.js добавляет компьютерное зрение на базе AI в сквозное тестирование. В тестах шаги работы с UI и ожидаемые результаты описываются обычным языком, а визуальный GUI-агент находит элементы по скриншотам, нажимает на них, вводит текст, прокручивает экран и проверяет его содержимое. Благодаря этому можно работать с кнопками без подписей, нестандартными элементами управления, содержимым canvas и кросс-доменными iframe, не поддерживая CSS- или XPath-селекторы.
- midscene можно использовать бесплатно? Какая у него лицензия?
- midscene распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- midscene всё ещё поддерживается?
- Активно поддерживается. Последний коммит в midscene — 20 окт. 2026 г..
- Для чего можно использовать midscene?
- Написание сквозных тестов для веб-приложений, в которых селекторы ненадёжны или недоступны. Тестирование интерфейсов на основе canvas и визуально отображаемых интерфейсов, которые нельзя проверить с помощью DOM-assertions. Добавление визуальных проверок в существующий набор тестов Playwright или Puppeteer. Автоматизация сценариев в мобильных приложениях на устройствах и эмуляторах Android или iOS.
- Как установить midscene?
- Установите пакет Web SDK из npm Создайте проект Midscene Test (точную команду настройки см. в руководстве) Настройте модель и среду выполнения Web, затем напишите тестовые сценарии в YAML и запустите их
- Где скачать midscene?
- Исходный код и инструкции по установке — на GitHub: https://github.com/web-infra-dev/midscene
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Библиотека Python с открытым исходным кодом для создания AI-агентов, управляющих настоящим браузером; доступны stealth-браузеры Browser Use Cloud и hosted agent API.
Agent Skill, с помощью которого coding-агенты пишут и запускают собственные Playwright-скрипты для тестов и многошаговых задач в браузере.
Мультимодальный стек AI-агентов с открытым исходным кодом от ByteDance: CLI и Web UI (Agent TARS), а также десктопное GUI-приложение-агент (UI-TARS Desktop).
Сервер Model Context Protocol, с помощью которого LLM-клиенты управляют настоящим браузером через Playwright, используя структурированные снимки доступности.
SDK на TypeScript, Python и Go для браузерных агентов: управляет Chrome с помощью вызовов act, observe и extract на естественном языке и API в стиле Playwright.