El testeo Extremo-a-Extremo, normalmente conocido como E2E, es una metodología para testear que una aplicación funciona como debería del inicio al final. Se lleva a cabo una vez todos los componentes de un sistema han sido integrados para asegurar que la información que pasa de unos a otros es correcta.

La aplicación al completo se testea en un escenario lo más cercano a producción como sea posible. Esto significa tener la misma configuración (o muy similar) en cuanto a las redes, bases de datos, servicios, etc. que se tendría en un entorno real.

¿Qué sistema E2E usaremos?

El sistema con el que vamos a trabajar en este tutorial es Protractor. La página oficial únicamente se encuentra en inglés.

A pesar de que la web habla que es un framework (o sistema) para aplicaciones escritas en Angular, también se puede usar para aplicaciones que no estén basadas en Angular. Este tutorial explicará cómo hacerlo, así pues, no te preocupes por ello. La ventaja de usar Protractor con páginas en Angular es que permite referenciar elementos o directivas específicas de Angular. 

Protractor tiene incorporado por defecto esperas automáticas e inteligentes para ejecutar la siguiente instrucción solo cuando el navegador ha terminado cualquier tarea pendiente. Esto nos ayudará a ahorrar líneas de código y dolores de cabeza cuando tengamos que esperar a que ciertas condiciones se den para ejecutar las siguientes instrucciones. Tener que programar esperas activas hace que nuestros tests tarden más de lo necesario en ejecutarse. Para evitar esto, Protractor será nuestro aliado.

¿Qué lenguaje usaremos?

Protractor soporta dos sistemas de Desarrollo Guiado por Comportamiento (BDD, por sus siglas del inglés): Jasmine y Mocha. Ambos están basados en JavaScript y NodeJS y proporcionan la sintaxis, andamiaje y herramientas de reporte que usaremos para escribir y gestionar los tests.

Nosotros vamos a elegir Jasmine versión 2, la cual está integrada completamente con Protractor. 

¿Qué necesito?

No son muchas las herramientas necesarias para empezar a testear E2E usando Protractor. Si estás familiarizado con HTML y CSS básicos y tienes algún conocimiento de JavaScript y NodeJS, tienes mucho camino cubierto. Sin embargo, vamos a construir los tests paso a paso con explicaciones claras, así que no te preocupes si no conoces mucho.

Debido a que vamos a usar el Modelo de Páginas Objeto (POM, de sus siglas en inglés), es muy conveniente conozcas el concepto de selectores CSS. Por ello te recomiendo que veas este rápido tutorial (en inglés) para familiarizarte con el concepto.

También vas a necesitar un editor de texto o un IDE para desarrollar los tests. A lo largo del tutorial yo usaré Visual Studio Code, por lo que te recomiendo que lo instales antes de empezar.

Eso es todo por el momento. Espero verte pronto en la siguiente entrada del blog.


Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.