En este tema, aprenderás a escribir pruebas utilizando TypeScript en combinación con Playwright. TypeScript es un superconjunto de JavaScript que añade tipos estáticos, lo que ayuda a detectar errores en tiempo de desarrollo y mejora la mantenibilidad del código. Al integrar TypeScript con Playwright, puedes aprovechar estas ventajas para escribir pruebas más robustas y confiables.

Conceptos Clave

  1. TypeScript y su Ventaja en Pruebas:

    • Tipos Estáticos: Ayudan a prevenir errores comunes al verificar tipos en tiempo de compilación.
    • Interfaces y Tipos: Facilitan la definición de estructuras de datos claras y consistentes.
    • Soporte para ES6+: Permite usar características modernas de JavaScript.
  2. Configuración de TypeScript para Pruebas:

    • tsconfig.json: Archivo de configuración que define cómo se compila el proyecto TypeScript.
    • Integración con Playwright: Configurar Playwright para trabajar con TypeScript.

Configuración de TypeScript para Playwright

Antes de comenzar a escribir pruebas, asegúrate de que tu entorno esté configurado correctamente para usar TypeScript con Playwright.

Paso 1: Instalar TypeScript

Si aún no lo has hecho, instala TypeScript en tu proyecto:

npm install typescript --save-dev

Paso 2: Crear un Archivo de Configuración de TypeScript

Crea un archivo tsconfig.json en la raíz de tu proyecto con el siguiente contenido:

{
  "compilerOptions": {
    "target": "ES6",
    "module": "commonjs",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "outDir": "./dist"
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modules"]
}

Paso 3: Configurar Playwright para TypeScript

Asegúrate de que Playwright esté configurado para trabajar con TypeScript. Puedes hacerlo asegurándote de que tus scripts de prueba estén en un directorio que coincida con el patrón de inclusión en tsconfig.json.

Escribiendo una Prueba Básica en TypeScript

A continuación, escribiremos una prueba simple utilizando TypeScript y Playwright.

Ejemplo de Prueba

Crea un archivo example.test.ts en el directorio src:

import { test, expect } from '@playwright/test';

test('Página de inicio tiene el título correcto', async ({ page }) => {
  await page.goto('https://example.com');
  const title = await page.title();
  expect(title).toBe('Example Domain');
});

Explicación del Código

  • Importaciones: Importamos test y expect de Playwright para definir y verificar nuestras pruebas.
  • Definición de la Prueba: Usamos test para definir una prueba. La función recibe un objeto page que representa una instancia del navegador.
  • Navegación: page.goto('https://example.com') navega a la URL especificada.
  • Verificación: expect(title).toBe('Example Domain') verifica que el título de la página sea el esperado.

Ejercicios Prácticos

Ejercicio 1: Verificar el Texto de un Elemento

Objetivo: Escribe una prueba que verifique que un elemento específico en la página contiene el texto correcto.

Instrucciones:

  1. Navega a https://example.com.
  2. Verifica que el elemento <h1> contenga el texto "Example Domain".

Solución:

import { test, expect } from '@playwright/test';

test('Verificar texto del elemento h1', async ({ page }) => {
  await page.goto('https://example.com');
  const headerText = await page.textContent('h1');
  expect(headerText).toBe('Example Domain');
});

Ejercicio 2: Comprobar la Existencia de un Elemento

Objetivo: Escribe una prueba que verifique que un elemento con el selector p existe en la página.

Instrucciones:

  1. Navega a https://example.com.
  2. Verifica que el elemento <p> existe.

Solución:

import { test, expect } from '@playwright/test';

test('Comprobar existencia del elemento p', async ({ page }) => {
  await page.goto('https://example.com');
  const paragraph = await page.$('p');
  expect(paragraph).not.toBeNull();
});

Conclusión

En esta sección, aprendiste a escribir pruebas básicas en TypeScript utilizando Playwright. Configuraste tu entorno para TypeScript, escribiste pruebas simples y verificaste elementos en una página web. Estos fundamentos te preparan para explorar características más avanzadas de Playwright y TypeScript en los siguientes módulos.

Playwright con TypeScript: De Principiante a Avanzado

Módulo 1: Introducción a Playwright y TypeScript

Módulo 2: Comenzando con Playwright

Módulo 3: Fundamentos de Playwright y TypeScript

Módulo 4: Funciones Avanzadas de Playwright

Módulo 5: Estrategias de Automatización de Pruebas

Módulo 6: Técnicas Avanzadas de TypeScript

Módulo 7: Aplicaciones Reales de Playwright

Módulo 8: Conclusión del Curso y Próximos Pasos

© Copyright 2024. Todos los derechos reservados