Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El servidor MCP de Playwright es un servidor Model Context Protocol que proporciona a los asistentes de codificación de IA acceso directo a una sesión de navegador en vivo. En lugar de adivinar selectores de capturas de pantalla o documentación, la inteligencia artificial puede inspeccionar el DOM real, hacer clic en los elementos y observar la navegación; a continuación, generar pruebas precisas de Playwright a partir de lo que encuentra.
¿Por qué usar Playwright MCP para pruebas de Power Platform?
Las aplicaciones de Power Platform presentan desafíos específicos para la creación de pruebas:
- Los controles de lienzo tienen
data-control-nameatributos específicos de la aplicación y no documentados. - Los elementos de la galería anidan múltiples elementos localizables, por lo que el selector adecuado depende de la estructura exacta.
- Debe cruzar el límite del iframe (
iframe[name="fullscreen-app-host"]) antes de cualquier interacción de control. - Las vistas respaldadas por Dataverse pueden tardar entre 30 y 60 segundos en rellenarse.
Al utilizar Playwright MCP, el asistente de IA puede:
- Navegue a su aplicación de lienzo o a su aplicación basada en modelos.
- Inspeccione los nombres de control y las etiquetas de ARIA en el DOM representado real.
- Genere selectores que estén correctamente enfocados hacia el iframe.
- Interacciones de tiempo con las esperas adecuadas en función del comportamiento observado.
Instalación del servidor MCP de Playwright
Instale el servidor MCP de Playwright globalmente mediante npm para que el asistente de codificación de IA pueda conectarse a una sesión del explorador en directo.
npm install -g @playwright/mcp
O bien, use npx para ejecutarlo sin una instalación global:
npx @playwright/mcp
Nota:
El servidor MCP de Playwright requiere Node.js 18 o posterior y un explorador compatible con Chromium instalado a través de npx playwright install chromium.
Configuración del asistente de IA para usar MCP
Después de instalar el servidor, configure el asistente de codificación de IA para conectarse a él. En las secciones siguientes se muestra la configuración de los editores populares.
VS Code (GitHub Copilot)
Agregue el siguiente código a su .vscode/settings.json o a la configuración del usuario:
{
"github.copilot.chat.experimental.mcp.servers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp"]
}
}
}
Claude (claude.ai o Claude Code)
Cree o actualice CLAUDE.md o .claude/settings.json para incluir el servidor MCP. En Claude Code, agregue el servidor mediante el /mcp comando o editando ~/.claude/settings.json:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp"]
}
}
}
Cursor/Windsurf
En Cursor, agregue el servidor en Configuración → AI → servidores MCP:
{
"name": "playwright",
"command": "npx @playwright/mcp"
}
Conexión de la inteligencia artificial a la aplicación de Power Platform
Inicie la aplicación de Power Platform en un explorador (modo de reproducción o creación del portal).
Indique al asistente de IA que se conecte al explorador en ejecución:
"Conéctese al explorador y vaya a
https://apps.powerapps.com/play/<your-app-id>"Pida a la inteligencia artificial que inspeccione la aplicación y genere una prueba:
"Inspeccione la aplicación de lienzo y escriba una prueba de Playwright que abra la galería de pedidos, haga clic en el primer elemento y compruebe el campo del número de pedido".
La inteligencia artificial inspecciona el DOM a través del servidor MCP, identifica los data-control-name valores, anota el límite del iframe y genera localizadores con ámbito, todo ello sin abrir DevTools.
Ejemplo: Generación de una prueba de aplicación de lienzo
Solicite al asistente de IA:
Con el servidor Playwright MCP, conéctate a la aplicación de lienzo que se está ejecutando en
<url>. Busque el nombre del control de la galería y el nombre del control de la etiqueta de título. A continuación, escriba una prueba de Playwright que:
- Espera a que se cargue la galería.
- Filtra los elementos para buscar uno titulado "Northwind Traders"
- Hace clic en ese elemento.
- Comprueba que aparece un panel de detalles"
La inteligencia artificial usa las herramientas , browser_navigatey browser_snapshot del browser_clickservidor MCP y, a continuación, emite código de prueba como:
import { test, expect } from '@playwright/test';
import { AppProvider, AppType, AppLaunchMode, buildCanvasAppUrlFromEnv } from 'power-platform-playwright-toolkit';
test('find and click Northwind Traders in gallery', async ({ page, context }) => {
const app = new AppProvider(page, context);
await app.launch({
app: 'Orders App',
type: AppType.Canvas,
mode: AppLaunchMode.Play,
skipMakerPortal: true,
directUrl: buildCanvasAppUrlFromEnv(),
});
const canvasFrame = page.frameLocator('iframe[name="fullscreen-app-host"]');
// Wait for gallery (control name found via MCP inspection)
await canvasFrame
.locator('[data-control-name="Gallery1"] [data-control-part="gallery-item"]')
.first()
.waitFor({ state: 'visible', timeout: 60000 });
// Click item by title (control name found via MCP inspection)
const item = canvasFrame
.locator('[data-control-part="gallery-item"]')
.filter({
has: canvasFrame
.locator('[data-control-name="Title1"]')
.getByText('Northwind Traders', { exact: true }),
});
await item.click();
// Verify details panel
await expect(canvasFrame.locator('[data-control-name="DetailPanel1"]')).toBeVisible();
});
Ejemplo: Generación de una prueba de aplicación controlada por modelos
Preguntar:
Vaya a
<model-driven-app-url>. Inspeccione el AG Grid y busque el encabezado de columna para los números de pedido. Escriba una prueba que filtre por "ORD-001", lea la primera celda y compruebe el valor".
La inteligencia artificial navega, inspecciona la estructura de cuadrícula, identifica el nombre del esquema de columna y genera:
await mda.grid.filterByKeyword('ORD-001');
await mda.grid.waitForGridLoad();
const orderNumber = await mda.grid.getCellValue(0, 'nwind_ordernumber');
expect(orderNumber).toContain('ORD-001');
Herramientas de MCP disponibles
El servidor MCP de Playwright expone las siguientes herramientas a los asistentes de IA:
| Herramienta | Qué hace |
|---|---|
browser_navigate |
Ir a una dirección URL |
browser_snapshot |
Captura del árbol de accesibilidad (estructura DOM) |
browser_click |
Haga clic en un elemento |
browser_type |
Escribir texto en una entrada |
browser_select_option |
Selección de una opción desplegable |
browser_wait_for |
Esperar un elemento o una red |
browser_screenshot |
Captura de pantalla |
browser_evaluate |
Ejecución de JavaScript en la página |
browser_network_requests |
Inspección del tráfico de red |
Sugerencia
La browser_snapshot herramienta devuelve el árbol de accesibilidad, no HTML en bruto. Genera una representación compacta y legible por IA que resalta los roles, las etiquetas y los nombres – exactamente lo necesario para encontrar buenos selectores.
Solución de problemas de conexión de MCP
| Síntoma | Resolution |
|---|---|
| La inteligencia artificial no se puede conectar al explorador | Asegúrese de que npx @playwright/mcp se está ejecutando y que su cliente de IA tiene MCP configurado. |
| Instantánea que muestra un iframe vacío | Navegue hasta el marco del lienzo pidiendo a la IA que cambie el contexto del marco. |
| Los selectores no coinciden | Es posible que la aplicación se haya vuelto a cargar; pida a la inteligencia artificial que vuelva a realizar una instantánea. |
| Tiempo de espera en la galería | Indique a la inteligencia artificial que espere 60 segundos antes de declarar elementos de la galería. |
Pasos siguientes
- creación de pruebas de AI con Copilot
- Instrucciones personalizadas para agentes de IA
- Pruebas de ejemplo