Framework de pruebas end-to-end para aplicaciones web y móviles que permite describir objetivos en lenguaje natural y usar un agente para interactuar con la aplicación.
web-infra-dev/midscene
Midscene.js es un framework de pruebas E2E basado en visión que permite escribir pasos y aserciones de pruebas de UI en lenguaje natural para aplicaciones web, móviles y de escritorio.
- Estrellas
- 15,331
- Forks
- 1,201
- Issues abiertos
- 123
- Último commit
- hace 4 horas
¿Qué es?
Midscene.js incorpora visión de IA a las pruebas de extremo a extremo. Las pruebas describen los pasos de la UI y los resultados esperados en lenguaje sencillo, mientras que un agente visual de GUI localiza elementos en capturas de pantalla, hace clic, escribe, se desplaza y comprueba lo que aparece en pantalla. Así, es posible interactuar con botones que solo tienen iconos, controles personalizados, contenido en canvas e iframes de otros orígenes sin tener que mantener selectores CSS o XPath.
El proyecto ofrece dos formas de empezar. Midscene Test permite escribir casos en YAML y reutilizar nodos de TypeScript para la configuración, las llamadas a la API y la limpieza. Como alternativa, se pueden añadir las API del agente (aiAct, aiTap, aiInput, aiAssert, aiQuery, aiWaitFor) a pruebas existentes de Playwright o Puppeteer. Es compatible con navegadores web, Android mediante ADB, iOS mediante WebDriverAgent, HarmonyOS mediante HDC y sistemas de escritorio.
La elección del modelo es flexible: el proyecto funciona con varios modelos con capacidad de visión, incluidas opciones que pueden alojarse por cuenta propia. Las ejecuciones de pruebas generan informes HTML interactivos con capturas de pantalla, ubicaciones de elementos y resultados de acciones y aserciones.
Funciones clave
- 01Escribe acciones y aserciones de UI en lenguaje natural, incluidas comprobaciones de colores, diseño y respuesta visual.
- 02Localiza elementos en capturas de pantalla, por lo que no hacen falta selectores para botones con iconos ni contenido en canvas.
- 03Admite casos de prueba en YAML mediante Midscene Test, con nodos de TypeScript reutilizables.
- 04Se integra con Playwright y Puppeteer mediante la API del agente.
- 05Es compatible con las plataformas web, Android, iOS, HarmonyOS y de escritorio.
- 06Genera informes HTML interactivos con capturas de pantalla y resultados de ejecución.
Casos de uso
- Escribir pruebas de extremo a extremo para aplicaciones web en las que los selectores son poco fiables o no están disponibles.
- Probar interfaces basadas en canvas o renderizadas visualmente que no se pueden inspeccionar con aserciones del DOM.
- Añadir comprobaciones visuales a una suite de pruebas existente de Playwright o Puppeteer.
- Automatizar flujos de aplicaciones móviles en dispositivos y emuladores Android o iOS.
Inicio rápido
- 1
Instala el paquete Web SDK desde npm
- 2
Crea un proyecto de Midscene Test (consulta la guía para ver el comando exacto de configuración)
- 3
Configura un modelo y el runtime de Web; después, escribe casos de prueba en YAML y ejecútalos
Antes de usarlo
- Necesitas acceso a un modelo de IA con capacidad de visión, que tendrás que configurar y pagar.
- Los resultados de referencia publicados dependen de modelos y configuraciones de ejecución específicos.
Temas
Preguntas frecuentes
- ¿Qué es midscene?
- Midscene.js es un framework de pruebas E2E basado en visión que permite escribir pasos y aserciones de pruebas de UI en lenguaje natural para aplicaciones web, móviles y de escritorio. Midscene.js incorpora visión de IA a las pruebas de extremo a extremo. Las pruebas describen los pasos de la UI y los resultados esperados en lenguaje sencillo, mientras que un agente visual de GUI localiza elementos en capturas de pantalla, hace clic, escribe, se desplaza y comprueba lo que aparece en pantalla. Así, es posible interactuar con botones que solo tienen iconos, controles personalizados, contenido en canvas e iframes de otros orígenes sin tener que mantener selectores CSS o XPath.
- ¿midscene es gratuito? ¿Qué licencia tiene?
- midscene es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿midscene sigue mantenido?
- Mantenimiento activo. El último commit de midscene fue el 20 oct 2026.
- ¿Para qué puedo usar midscene?
- Escribir pruebas de extremo a extremo para aplicaciones web en las que los selectores son poco fiables o no están disponibles. Probar interfaces basadas en canvas o renderizadas visualmente que no se pueden inspeccionar con aserciones del DOM. Añadir comprobaciones visuales a una suite de pruebas existente de Playwright o Puppeteer. Automatizar flujos de aplicaciones móviles en dispositivos y emuladores Android o iOS.
- ¿Cómo se instala midscene?
- Instala el paquete Web SDK desde npm Crea un proyecto de Midscene Test (consulta la guía para ver el comando exacto de configuración) Configura un modelo y el runtime de Web; después, escribe casos de prueba en YAML y ejecútalos
- ¿Dónde consigo midscene?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/web-infra-dev/midscene
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Biblioteca Python de código abierto para crear agentes de IA que controlan un navegador real, con navegadores sigilosos opcionales de Browser Use Cloud y una API de agentes alojada.
Una Agent Skill que permite a los agentes de programación escribir y ejecutar scripts personalizados de automatización de navegador con Playwright para pruebas y tareas web de varios pasos.
Stack de agentes de IA multimodales de código abierto de ByteDance, con CLI y Web UI (Agent TARS) y una app de agente de escritorio con GUI (UI-TARS Desktop).
SDK en TypeScript, Python y Go para agentes de navegador que controlan Chrome con llamadas en lenguaje natural a act, observe y extract, además de API al estilo Playwright.
Automatización web de código abierto que usa LLM y visión artificial para ejecutar flujos de trabajo en cualquier sitio y amplía Playwright con comandos de IA.