Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Casper JS - Asegurando la calidad en front-end Drupal

772 views

Published on

En esta sesión presentaremos como estamos utilizando CasperJS (http://casperjs.org/) para asegurar la calidad de algunos de nuestros desarrollos y evitar los tan temidos (y comunes) bugs de regresión.

Mostraremos el uso básico de CasperJS y veremos un caso real en el que estamos testando la lógica principal de un portal con procesos complejos que involucran submits de formularios multipaso, testeo con multiples roles, etc...

Published in: Software
  • Be the first to comment

Casper JS - Asegurando la calidad en front-end Drupal

  1. 1. Casper js Asegurando la calidad en front-­end
  2. 2. David gil Desarrollador Drupal en david.gil@biko2.com @david_gil_biko2
  3. 3. ¿ en proyectos Drupal ? Test funcionales Aseguran que el sw cumple los requisitos
  4. 4. ¿Para qué? * Test de regresión automatizados - Automatizamos los test manuales. - Grabaciones de navegación + aserciones * Test de bugs de regresión automatizados - Al resolver un bug creamos test para garantizar que no se reproduce
  5. 5. ¿Para qué? * Pruebas de humo automatizadas - Prueban automáticamente que una serie de funcionalidades clave siguen funcionando después de un deploy * refactoring
  6. 6. Show me the code!
  7. 7. Phantom js PhantomJS es un navegador headless basado en WebKit que proporciona un API JavaScript para controlarlo. Dispone de soporte nativo para: Manejo del DOM, selectores CSS, JSON, Canvas y SVG. ¡Además, es rápido!.
  8. 8. Casper js CasperJS es una librería javascript que permite realizar scripts de navegación y tests usando PhantomJS (y SlimerJS). Permite realizar test de front-end del estilo a los que se realizan con frameworks como PHPUnit para testear código.
  9. 9. Casper js Syntactic Sugar para: • Definir pasos de navegación • Rellenar y enviar formularios • Click y seguir links • Capturar pantallazos • Testear el DOM • Descargar recursos • Escribir test funcionales y exportar los resultados a JUnit XML • scraping de Webs
  10. 10. Pruebas de humo en www.museoreinasofia.es Ej.1
  11. 11. Verde que te quiero verde!
  12. 12. Test de regresión en www.museoreinasofia.es Ej.2
  13. 13. Asegurando el css: phantom css https://github.com/Huddle/PhantomCSS
  14. 14. La primera vez es distinto
  15. 15. La primera vez es distinto
  16. 16. Verde que te quiero verde!
  17. 17. Vamos a hacerlo fallar
  18. 18. Soy un artista!
  19. 19. chapucero
  20. 20. Test con drupal Ej.3 www.internetacademi.com
  21. 21. ¡titan juampy! Utilidades para casper en drupal https://www.drupal.org/project/casperjs
  22. 22. internetAcademi vive de vender cursos. ¡Que no se rompa el proceso de compra! test de funcionalidades clave • Hago una compra como anónimo y hago verificaciones en el front • Me conecto al backend como admin • ¿Esta la compra? ¿importe correcto? ¿estado correcto? • ¿No vale solo el front?. Tenemos procesos complejos de sincronización con salesforce
  23. 23. Verde que te quiero verde!
  24. 24. Resurrectio: Grabación de test https://github.com/ebrehault/resurrectio
  25. 25. ¡Muchas gracias! david.gil@ biko2.com @david_gil_biko2

×