En esta sección, aprenderás a crear tu primer script utilizando Playwright con TypeScript. Este es un paso fundamental para comenzar a automatizar pruebas de interfaz de usuario. Asegúrate de haber completado la configuración de tu entorno de desarrollo antes de continuar.
Objetivos de Aprendizaje
- Comprender la estructura básica de un script de Playwright.
- Aprender a lanzar un navegador y abrir una página web.
- Realizar una interacción simple con la página.
- Ejecutar y verificar el resultado de tu script.
Paso 1: Configuración Inicial
Antes de escribir tu primer script, asegúrate de que Playwright y TypeScript estén instalados en tu proyecto. Si no lo has hecho, sigue estos pasos:
-
Inicializa un proyecto de Node.js si aún no lo has hecho:
npm init -y
-
Instala Playwright:
npm install playwright
-
Instala TypeScript:
npm install typescript --save-dev
-
Configura TypeScript creando un archivo
tsconfig.json
:{ "compilerOptions": { "target": "ES6", "module": "commonjs", "strict": true, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true } }
Paso 2: Escribir el Script
Ahora que tu entorno está configurado, es hora de escribir tu primer script de Playwright.
-
Crea un archivo llamado
firstScript.ts
en tu directorio de proyecto. -
Escribe el siguiente código en
firstScript.ts
:import { chromium } from 'playwright'; (async () => { // 1. Lanzar un navegador const browser = await chromium.launch({ headless: false }); const context = await browser.newContext(); const page = await context.newPage(); // 2. Navegar a una página web await page.goto('https://example.com'); // 3. Interactuar con la página const title = await page.title(); console.log(`El título de la página es: ${title}`); // 4. Cerrar el navegador await browser.close(); })();
Explicación del Código
- Importación de Chromium: Importamos el módulo
chromium
de Playwright para lanzar un navegador Chromium. - Función Asíncrona: Usamos una función asíncrona para manejar las operaciones asíncronas de Playwright.
- Lanzar el Navegador:
chromium.launch({ headless: false })
lanza un navegador visible. Cambiaheadless
atrue
para ejecutar en modo sin cabeza. - Abrir una Nueva Página: Creamos un nuevo contexto y una nueva página para interactuar.
- Navegar a una URL:
page.goto('https://example.com')
navega a la URL especificada. - Obtener el Título de la Página:
page.title()
obtiene el título de la página actual. - Cerrar el Navegador:
browser.close()
cierra el navegador al finalizar.
Paso 3: Ejecutar el Script
Para ejecutar tu script, utiliza el siguiente comando en la terminal:
Este comando ejecuta el script TypeScript usando ts-node
, que compila y ejecuta TypeScript en tiempo real.
Ejercicio Práctico
Tarea: Modifica el script para navegar a una página diferente y extraer un elemento específico de la página, como un encabezado o un párrafo.
Solución:
import { chromium } from 'playwright'; (async () => { const browser = await chromium.launch({ headless: false }); const context = await browser.newContext(); const page = await context.newPage(); await page.goto('https://example.com'); const header = await page.$eval('h1', element => element.textContent); console.log(`El encabezado de la página es: ${header}`); await browser.close(); })();
Retroalimentación y Consejos
- Error Común: Asegúrate de que el navegador se cierra correctamente usando
await browser.close()
. Dejar navegadores abiertos puede consumir recursos innecesarios. - Consejo: Usa
headless: true
para pruebas automatizadas en entornos de integración continua.
Conclusión
Has creado y ejecutado tu primer script de Playwright con TypeScript. Este es un paso crucial en el camino hacia la automatización de pruebas. En el próximo tema, profundizaremos en los conceptos básicos de Playwright para que puedas escribir scripts más complejos y efectivos.
Playwright con TypeScript: De Principiante a Avanzado
Módulo 1: Introducción a Playwright y TypeScript
- ¿Qué es Playwright?
- Configuración de tu Entorno de Desarrollo
- Introducción a TypeScript
- Sintaxis Básica de TypeScript
Módulo 2: Comenzando con Playwright
- Instalando Playwright
- Creando tu Primer Script de Playwright
- Entendiendo los Conceptos Básicos de Playwright
- Ejecutando Pruebas de Playwright
Módulo 3: Fundamentos de Playwright y TypeScript
- Escribiendo Pruebas en TypeScript
- Usando Interfaces y Tipos de TypeScript
- Depurando Pruebas de Playwright
- Manejando Código Asíncrono
Módulo 4: Funciones Avanzadas de Playwright
- Trabajando con Selectores
- Manejando Múltiples Páginas y Marcos
- Intercepción de Red y Simulación
- Emulación de Dispositivos y Geolocalización
Módulo 5: Estrategias de Automatización de Pruebas
- Organización de Pruebas y Suites de Pruebas
- Uso de Fixtures y Hooks
- Ejecución Paralela de Pruebas
- Integración Continua con Playwright
Módulo 6: Técnicas Avanzadas de TypeScript
- Genéricos en TypeScript
- Tipos Avanzados de TypeScript
- Decoradores de TypeScript
- Mejores Prácticas de TypeScript y Playwright
Módulo 7: Aplicaciones Reales de Playwright
- Pruebas de Extremo a Extremo con Playwright
- Pruebas Visuales con Playwright
- Pruebas de Rendimiento con Playwright
- Estudio de Caso: Implementación de Playwright en un Proyecto