Hola, y muchas gracias por unirse a mi charla. Mi nombre es Rainer Haneckamp. Soy de Austria, y soy un formador y consultor en Angular Architects. Esto significa que paso la mayor parte de mi tiempo con Angular.
Esta charla es sobre la regresión visual. Esto significa que vamos a crear automáticamente capturas de pantalla de nuestra aplicación, de nuestros componentes, y las compararemos con imágenes de referencia existentes. Esto es muy similar a lo que encontramos con las instantáneas de Jest, pero mientras que las instantáneas se basan en cadenas de texto, la regresión visual utiliza imágenes reales.
Y como dije antes, estamos haciendo muchas masterclass, y cada vez que estoy introduciendo este tema, hay dos tipos diferentes de desarrolladores. El primer tipo dice, bien, eso es genial. Siempre quise ver cómo funciona esto. Esto es exactamente lo que necesitaba. Y es muy probable que estén trabajando en bibliotecas de UI o que tengan aplicaciones. Donde se invierte mucho tiempo en un diseño muy atractivo.
La mayoría, sin embargo, dice, bien, estoy escribiendo aplicaciones de negocio o aplicaciones, y la mayor parte de mi tiempo la paso usando elementos de formulario. Estoy usando rejillas, y no las creo yo mismo. Ya utilizo un framework existente como Material Bootstrap o lo que sea. ¿Por qué tengo que preocuparme por la regresión visual? Si compartes esta opinión, entonces piensa qué sucede cuando entras en un sitio web y ves que los botones están sobrecargados, desbordados, o que el texto está desbordado o algo así. ¿Realmente confiarías en este sitio web? ¿Estarías realmente dispuesto a pagar por algunos de sus servicios? Muy probablemente no. ¿Por qué? Porque la primera impresión ya fue muy mala. Y como en todas partes de la vida, primero, la primera impresión realmente cuenta. Y como es en las aplicaciones, la parte visual es siempre la primera impresión. Así que no subestimes eso, independientemente del tipo de aplicación que tengas.
Y así es como vamos a hacerlo. Te mostraré cómo hacer la regresión visual utilizando tres bibliotecas, frameworks diferentes. Empezaré con Puppeteer, luego Playwright, y luego Cypress. Empecemos. Bueno, aquí estamos. Esta es nuestra aplicación, y lo que queremos probar es esta tarjeta de vacaciones aquí. La primera acción es ya que no creamos una captura de pantalla de esta URL, porque también contiene el menú lateral aquí en el lado izquierdo, el encabezado. Y si algo cambia allí, entonces la prueba lanzaría un error, aunque la tarjeta de vacaciones todavía se ve bien.
Comments