Playwright IA: Midscene.js
Automate Playwright flows using natural language with Midscene.js and AI.
Playwright IA: Midscene.js
Proyecto de automation con Playwright e inteligencia artificial (Midscene).
-
Instala dependencias, ejecuta tests y visualiza el reporte para tener un primer vistazo del modo en que opera Midscene.
-
Configura el MCP Server de Midscene para que automatize lo que le pidas desde un prompt.
📥 Instalación
Instalar dependencias:
npm install
# o
yarn install
▶️ Ejecución de pruebas
Primero exporta tu API_KEY:
#linux
export OPENAI_API_KEY="tu_api_key"
Ejecuta los tests con Playwright y genera un reporte en HTML:
npx playwright test
Si deseas ver el proceso de ejecución:
npx playwright test --headed
📂 Abrir el reporte
Para visualizar el reporte generado, usa el comando:
open midscene_run/report/tu_reporte.html
Se abrirá automáticamente una ventana del navegador con el dashboard de resultados (flujos de MidSceneJS, capturas y trazas).
📂 MidScene: APIs básicas de operación de IA
Usa estas APIs en tus steps para que la IA haga el trabajo.
- ai o aiAction – Interacción general con IA
- aiTap – Operación de clic
- aiHover – Operación de hover (pasar el cursor)
- aiInput – Operación de entrada de texto
- aiKeyboardPress – Operación de teclado
- aiScroll – Operación de desplazamiento
- aiQuery – Consulta a IA
- aiAssert – Aserción de IA
- aiWaitFor – Espera basada en IA
Puedes encontrar más detalles en midscenejs.com/api
🧠 MidScene: MCP Server
Permite usar lenguaje natural para automatizar flujos y generar pruebas con Playwright, utilizando el agente de inteligencia artificial MidScene a través de su MCP Server.
✅ Requisitos
- Instala Cursor.
- Abre este proyecto con Cursor.
- Configura el MCP en Cursor.
⚙️ Configuración del MCP en Cursor
- Abre Cursor
- Ve a:
File > Preferences > Settings
- Agrega la siguiente configuración en el apartado MCP:
{
"mcpServers": {
"mcp-midscene": {
"command": "npx",
"args": ["-y", "@midscene/mcp"],
"env": {
"MIDSCENE_MODEL_NAME": "gpt-4o-mini",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"MCP_SERVER_REQUEST_TIMEOUT": "800000"
}
}
}
}
- No olvides ingresar tu OPENAI_API_KEY en el json.
🤖 Enviar prompt en Cursor
Abre un chat en Cursor (Ctrl + N) y escribe tu prompt. Por ejemplo:
Usa el MCP de Midscene para:
1. Open page https://practicetestautomation.com/practice-test-login/
2. Type username incorrectUser into Username field
3. Type password Password123 into Password field
4. Push Submit button
5. Verify error message is displayed
6. Verify error message text is Your username is invalid!
Al finalizar:
Crea el test case en Playwright con midscene, en la carpeta e2e con nombre login, usa de ejemplo @sauce-demo.spec.ts
Exporta OPENAI_API_KEY que esta en @mcp.json
Ejecuta el test npx playwright test e2e/login.spec.ts --headed
Nota: En el prompt, brinda contexto (ej: "@mcp.json"). De esta manera, Midscene encuentra la información necesaria para cumplir tu solicitud con éxito (templates, API_KEYS, etc).
Related Servers
Frame0 MCP Server
Create and modify wireframes in the Frame0 app through natural language prompts.
DALL-E Image Generator
Generate images using OpenAI's DALL-E API.
MCP Server for iOS Simulator
Programmatically control iOS simulators via stdio transport. Requires macOS with Xcode and installed iOS simulators.
Criage MCP Server
An MCP server for the Criage package manager, providing full client functionality via the MCP protocol.
Swagger/OpenAPI MCP Server
Explore and interact with Swagger/OpenAPI specifications, allowing for browsing endpoints and retrieving details on API operations.
Kubernetes
Kubernetes MCP server with the top30 tools
AWS Nova Canvas
Generate images using Amazon Nova Canvas with text prompts and color guidance.
Tmux MCP Server
Provides persistent shell execution through tmux sessions.
BaseMcpServer
A minimal, containerized base for building MCP servers with the Python SDK, featuring a standardized Docker image and local development setup.
reptor-mcp
An MCP server for Reptor/SysReptor that exposes the reptor CLI tool as a programmable service, configured via environment variables.