En este módulo, aprenderás a trabajar con selectores en Playwright, una habilidad esencial para interactuar con elementos en una página web. Los selectores son fundamentales para automatizar pruebas, ya que permiten identificar y manipular elementos de la interfaz de usuario.

Conceptos Clave

  1. Selectores CSS: Son los más comunes y se utilizan para seleccionar elementos basados en sus clases, IDs, atributos, etc.
  2. Selectores XPath: Utilizan una sintaxis de ruta para navegar por la estructura del documento XML/HTML.
  3. Selectores de Texto: Permiten seleccionar elementos basados en el texto visible.
  4. Selectores de Rol: Útiles para seleccionar elementos basados en su rol de accesibilidad.
  5. Selectores de Cadena: Permiten seleccionar elementos usando una cadena de texto que coincide con el contenido del elemento.

Ejemplos Prácticos

  1. Uso de Selectores CSS

Los selectores CSS son directos y se utilizan ampliamente debido a su simplicidad y eficacia.

// Selecciona un elemento por su clase
await page.click('.boton-enviar');

// Selecciona un elemento por su ID
await page.fill('#campo-usuario', 'miUsuario');

// Selecciona un elemento por su atributo
await page.check('input[type="checkbox"]');

  1. Uso de Selectores XPath

Los selectores XPath son más potentes y flexibles, pero también más complejos.

// Selecciona un elemento usando XPath
await page.click('//button[text()="Enviar"]');

  1. Uso de Selectores de Texto

Estos selectores son útiles cuando el texto visible es único y constante.

// Selecciona un botón basado en su texto
await page.click('text="Enviar"');

  1. Uso de Selectores de Rol

Los selectores de rol son útiles para pruebas de accesibilidad.

// Selecciona un botón basado en su rol
await page.click('role=button[name="Enviar"]');

  1. Uso de Selectores de Cadena

Estos selectores son útiles para seleccionar elementos que contienen una cadena específica.

// Selecciona un elemento que contiene una cadena específica
await page.click('text=Enviar');

Ejercicio Práctico

Objetivo: Escribir un script que interactúe con una página de ejemplo utilizando diferentes tipos de selectores.

Instrucciones

  1. Configura tu entorno: Asegúrate de tener Playwright instalado y configurado.
  2. Crea un nuevo script: Escribe un script que navegue a una página de ejemplo y realice las siguientes acciones:
    • Rellena un campo de texto usando un selector CSS.
    • Haz clic en un botón usando un selector XPath.
    • Marca una casilla de verificación usando un selector de texto.
    • Selecciona un elemento usando un selector de rol.

Solución

import { chromium } from 'playwright';

(async () => {
  const browser = await chromium.launch();
  const page = await browser.newPage();
  await page.goto('https://ejemplo.com');

  // Rellena un campo de texto usando un selector CSS
  await page.fill('.campo-texto', 'Texto de ejemplo');

  // Haz clic en un botón usando un selector XPath
  await page.click('//button[text()="Enviar"]');

  // Marca una casilla de verificación usando un selector de texto
  await page.check('text="Acepto los términos"');

  // Selecciona un elemento usando un selector de rol
  await page.click('role=button[name="Enviar"]');

  await browser.close();
})();

Errores Comunes y Consejos

  • Selector Incorrecto: Asegúrate de que el selector que estás utilizando es único y correcto. Usa herramientas de desarrollo del navegador para verificar los selectores.
  • Elementos Dinámicos: Si un elemento se carga dinámicamente, espera a que esté presente antes de interactuar con él.
  • Roles de Accesibilidad: Asegúrate de que los roles de accesibilidad estén correctamente definidos en el HTML para usar selectores de rol.

Conclusión

En esta sección, has aprendido a utilizar diferentes tipos de selectores en Playwright para interactuar con elementos de una página web. Los selectores son una herramienta poderosa para automatizar pruebas y manipular la interfaz de usuario de manera efectiva. En el próximo módulo, exploraremos cómo manejar múltiples páginas y marcos en Playwright.

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