top of page
Search

Automatizando test funcionales con Behat y Drupal: Instalación y puesta en marcha desde cero

  • bergmannconnell47q
  • Jul 18, 2020
  • 2 min read

¿Qué es Behat?


Behat es una herramienta de BDD(Behaviour Driven Development) que se usa para comprobar el comportamiento de una aplicación desde el punto de vista de un final. Es muy popular el empleo de esta herramienta para pruebas de automatización de casos, usando escenarios inteligibles para los humanos.


Para redactar los test se utiliza el lenguaje, muy similar al Inglés, de forma que se puedan redactar los test de la forma "Teniendo en cuenta que... Entonces debería...". Se puede además extender escribiendo funciones PHP adaptadas en el fichero FeatureContest.php que se crea dentro de la carpetita bootstrap.




¿Cuando usar Behat?


Behat captar clientes con seo y sem con las especificaciones y requisitos del cliente del servicio porque marcha con testque describen escenarios de posibles comportamientos del usuario en la página web. Estos test pueden ser creados y mantenidos por cualquier persona, así sea un gerente de proyecto, un desarrollador o bien cualquier otra parte interesada en el proyecto.


Los test automatizadosde Behat pueden asistir a:



  • Comprobar datos y contenido estático en una web.


  • Comprobar acciones sobre botones, enlaces y campos.


  • Comprobar formularios.


  • Comprobar Flujos de trabajo como registros o bien procesos de adquiere.


  • Comprobar que no haya regresiones en el código.



¿Donde no puede ayudar Behat?



  • Comprobar datos dinámicos.


  • Procesos sobre imágenes.


  • Códigos de respuesta de enlaces de un sitio.



A continuación pasamos a la fase de instalación, para poner en marcha Behat en nuestro Drupal desde cero.


Instalación


Se puede instalar de forma cómoda y sencilla mediante composer. Añade estas líneas a tu composer.json en Drupal, o, en una carpeta /behat aparte.


Luego dejamos que composer haga su trabajo:


$ composer install


Después de esto, vamos a tener nuevas carpetas como:


/bin (Donde está el ejecutable de behat y otros como drush)


/vendor (todas y cada una de las dependencias precisas)


Ahora precisamos este otro archivo:


behat.yml


Recuerda alterar la url que deseas probar en: base_url.


Luego:


$ bin/behat --init


Y el paso final:


$ bin/behat -dl


Este listado muestra las posibles acciones que podemos emplear en los test, y su sintaxis.


Escribiendo nuestros primeros test. Escenarios


Los escenarios describen la funcionalidad que queremos testear, tal y como si fuese un usuario final. Estos escenarios se escriben en unos archivos llamados fueatures y se alojan en la carpetita /features.


Ejemplo, deseamos testear que un usuario anónimo en Drupal Trademark, puede iniciar y cerrar adecuadamente su sesión. En el front hemos habilitado un bloque que sólo verán los usuarios registrados, con un texto "BIenvenido usuario". El usuario anónimo no debería ver empresa posicionamiento web segovia , ni el de herramientas.


Creamos un fichero nuevo en /features:


home.feature


Ahora, lanzamos el test, desde la raiz del proyecto


$ bin/behat


Como podemos ver, el escenario es válido y se valida el test completo sin aparecer errores (11 pasos / once pasaron).


Supongamos que accidentariamente cambiamos la configuración del bloque, y queda visible también para usuarios anónimos, lanzamos de nuevo el test, y mostraría lo siguiente:


Y ahí tenemos visible el fallo, identificado con perfección el escenario.


Conclusiones


Esta herramientapor tanto ayuda a adoptar buenas prácticasen los equipos de desarrollo, siendo muy recomendable la rutina de ejecutar los test antes de mandar un commit, para asegurarnos que el código no produce regresiones, incluso su integración con herramientas de integración continua como Jenkins.

 
 
 

Recent Posts

See All
CóMo Renovar El Dni Caducado

CóMo Renovar El Dni Caducado ¿Tienes el DNI a punto de caducar? Para cualquier gestión o trámite en la que te soliciten tu o bien para...

 
 
 

Comments


  • Facebook
  • Twitter
  • Instagram

Inner Pieces

123-456-7890

info@mysite.com

© 2023 by Inner Pieces.

Proudly created with Wix.com

Contact

Ask me anything

Thanks for submitting!

bottom of page