Automatización de Pruebas con Local Storage y Cypress
Clase 4 de 29 • Curso de Cypress Avanzado
Resumen
¿Cómo trabajar con Local Storage?
Local Storage es una tecnología fundamental que nos permite almacenar datos de manera persistente en el navegador del usuario. Imagina que tienes una aplicación web, como una lista de tareas pendientes ("to-do list"), donde deseas que los datos del usuario sean guardados incluso después de recargar la página. Aquí tienes una guía completa para entender cómo puedes manipular Local Storage de manera eficiente y además, cómo integrarlo en tus pruebas para agilizar tu flujo de trabajo.
¿Cómo implementar Local Storage en una aplicación web?
En una aplicación sencilla de lista de tareas, Local Storage nos permite guardar el estado de cada tarea. Cuando el usuario añade o completa una tarea, o bien decide eliminarla, esta información se guarda automáticamente en Local Storage. Es esencial porque al recargar la página, las tareas mantendrán su estado anterior.
¿Qué pasos seguir para automatizar el flujo de trabajo con Local Storage?
-
Preparar el entorno: Asegúrate de que cada campo de tu aplicación tenga identificadores únicos como IDs. Esto facilita la automatización del testeo del sistema.
-
Crear tareas en Local Storage:
- Utiliza
localStorage.setItem(key, value)
: La clave (key) podría referirse a la identificación de la tarea y el valor (value) puede ser un objeto que contiene datos como el título, descripción y estado de completitud.
localStorage.setItem("título de prueba", JSON.stringify({ title: "título de prueba", id: "título de prueba", complete: false, description: "descripción de prueba" }));
- Asegúrate de recuperar el
JSON.stringify()
adecuadamente, ya que Local Storage solo almacena cadenas de texto.
- Utiliza
-
Validar que las tareas persistan:
- Después de recargar la página, verifica con
localStorage.getItem(key)
que las tareas guardadas existan.
- Después de recargar la página, verifica con
¿Cómo limpiar Local Storage y manejar sesiones en las pruebas?
-
Eliminación de elementos en Local Storage:
- Usa
localStorage.removeItem(key)
para borrar elementos específicos. - Usa
localStorage.clear()
para limpiar todo el Local Storage.
localStorage.removeItem("título de prueba");
- Usa
-
Manejo de sesiones con Cypress:
- Utiliza
Cypress.session()
para mantener la persistencia a través de diferentes pruebas. Esto significa que puedes definir un estado inicial y reutilizarlo a lo largo de las pruebas sin tener que configurarlo repetitivamente.
Cypress.session("session_name", () => { // Configuración inicial de la sesión cy.visit("tu-url"); // Configurar o setear Local Storage });
- Utiliza
¿Cómo mejorar la eficiencia al setear datos masivamente?
- En lugar de usar la interfaz de usuario (UI) para cada acción, setea directamente en Local Storage. Este método ahorra tiempo y es más eficiente, especialmente si necesitas setear múltiples tareas consecutivamente.
Implementar Local Storage correctamente no solo mejora la experiencia del usuario, al mantener el estado de la aplicación incluso después de recargar, sino que también potencia tus test de automatización permitiéndote optimizar el flujo de trabajo y reducir tiempos. Continúa explorando más técnicas avanzadas para manejar datos y lleva tus habilidades de programación al siguiente nivel con determinación y entusiasmo. ¡El aprendizaje es un viaje, y estás en el camino correcto!