Repolode
web-infra-dev

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. 1

    Установите пакет Web SDK из npm

  2. 2

    Создайте проект Midscene Test (точную команду настройки см. в руководстве)

  3. 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 обновляется ежедневно.

Похожие проекты