Casper JS - Asegurando la calidad en front-end Drupal

David Gil Sánchez
David Gil SánchezIngeniero en Informática at Biko
Casper js 
Asegurando la calidad en front-­end
David gil 
Desarrollador Drupal en 
david.gil@biko2.com 
@david_gil_biko2
¿ en 
proyectos 
Drupal ? 
Test funcionales 
Aseguran que el 
sw cumple los 
requisitos
¿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
¿Para qué? 
* Pruebas de humo automatizadas 
- Prueban automáticamente que una serie de 
funcionalidades clave siguen funcionando después 
de un deploy 
* refactoring
Show me the code!
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!.
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.
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
Pruebas de humo en 
www.museoreinasofia.es 
Ej.1
Casper JS - Asegurando la calidad en front-end Drupal
Verde que te quiero verde!
Test de regresión en 
www.museoreinasofia.es 
Ej.2
Asegurando el css: phantom css 
https://github.com/Huddle/PhantomCSS
Casper JS - Asegurando la calidad en front-end Drupal
La primera vez es distinto
La primera vez es distinto
Verde que te quiero verde!
Vamos a hacerlo fallar
Soy un artista!
chapucero
Test con drupal 
Ej.3 
www.internetacademi.com
¡titan juampy! 
Utilidades para casper en drupal 
https://www.drupal.org/project/casperjs
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
Casper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end Drupal
Verde que te quiero verde!
Resurrectio: Grabación de test 
https://github.com/ebrehault/resurrectio
¡Muchas gracias! 
david.gil@ biko2.com 
@david_gil_biko2
1 of 33

Recommended

Capistrano drupalcamp-jerez-2015 by
Capistrano drupalcamp-jerez-2015Capistrano drupalcamp-jerez-2015
Capistrano drupalcamp-jerez-2015David Gil Sánchez
1K views30 slides
Desplegando Drupal con Capistrano by
Desplegando Drupal con CapistranoDesplegando Drupal con Capistrano
Desplegando Drupal con CapistranoDavid Gil Sánchez
847 views24 slides
Introducción a NodeJS by
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJSAlberto Gimeno
876 views13 slides
Escalabilidad y alto rendimiento con Symfony2 by
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Ricard Clau
5.7K views47 slides
DevOps & Infraestructura como código: Promesas Rotas by
DevOps & Infraestructura como código: Promesas RotasDevOps & Infraestructura como código: Promesas Rotas
DevOps & Infraestructura como código: Promesas RotasRicard Clau
132 views27 slides
Dev ops infraestructura agil con open source by
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open sourcescrumecuador
2K views123 slides

More Related Content

What's hot

Introducción a NodeJS by
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJSBEEVA_es
4.6K views34 slides
Nodejs.introduccion by
Nodejs.introduccionNodejs.introduccion
Nodejs.introduccionkillfill
583 views27 slides
PHP Conference Argentina 2014 by
PHP Conference Argentina 2014PHP Conference Argentina 2014
PHP Conference Argentina 2014aciliainternet
996 views26 slides
ASP.NET 5 en Linux y Mac OS X: herramientas e integración by
ASP.NET 5 en Linux y Mac OS X: herramientas e integraciónASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integraciónLuis Ruiz Pavón
891 views33 slides
Introduccion a Nodejs by
Introduccion a NodejsIntroduccion a Nodejs
Introduccion a NodejsJan Sanchez
1.4K views17 slides
Introduccion a Node.js by
Introduccion a Node.jsIntroduccion a Node.js
Introduccion a Node.jsOscar Gensollen
1.3K views17 slides

What's hot(20)

Introducción a NodeJS by BEEVA_es
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJS
BEEVA_es4.6K views
Nodejs.introduccion by killfill
Nodejs.introduccionNodejs.introduccion
Nodejs.introduccion
killfill583 views
PHP Conference Argentina 2014 by aciliainternet
PHP Conference Argentina 2014PHP Conference Argentina 2014
PHP Conference Argentina 2014
aciliainternet996 views
ASP.NET 5 en Linux y Mac OS X: herramientas e integración by Luis Ruiz Pavón
ASP.NET 5 en Linux y Mac OS X: herramientas e integraciónASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
Luis Ruiz Pavón891 views
Introduccion a Nodejs by Jan Sanchez
Introduccion a NodejsIntroduccion a Nodejs
Introduccion a Nodejs
Jan Sanchez1.4K views
Curso node.js by Redradix
Curso node.js Curso node.js
Curso node.js
Redradix 6.7K views
DeSymfonyDay 2014 - To mock or not to mock - Spanish by Jordi Llonch
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
Jordi Llonch1.2K views
Tools for High Availability by Luis Toscano
Tools for High AvailabilityTools for High Availability
Tools for High Availability
Luis Toscano667 views
Symfony2 Introducción by strate
Symfony2 IntroducciónSymfony2 Introducción
Symfony2 Introducción
strate367 views
Node JS (Francisco Cerdas) by PiXeL16
Node JS (Francisco Cerdas)Node JS (Francisco Cerdas)
Node JS (Francisco Cerdas)
PiXeL162.1K views
Manejo de packages en Kubernetes con Helm by Mario IC
Manejo de packages en Kubernetes con HelmManejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con Helm
Mario IC278 views
C:\fakepath\optimizacion by Gonzalo C.
C:\fakepath\optimizacionC:\fakepath\optimizacion
C:\fakepath\optimizacion
Gonzalo C.374 views
Integrando Groovy & Grails en el proceso de desarrollo by Jose Juan R. Zuñiga
Integrando Groovy & Grails en el proceso de desarrolloIntegrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrollo

Viewers also liked

Uso de html5 + webcomponents by
Uso de html5 + webcomponentsUso de html5 + webcomponents
Uso de html5 + webcomponentsAvanet
885 views30 slides
Mejora tus US con UX y modelos de satisfacción by
Mejora tus US con UX y modelos de satisfacciónMejora tus US con UX y modelos de satisfacción
Mejora tus US con UX y modelos de satisfaccióndnmoncada
1.1K views39 slides
Integración de WAI-ARIA en HTML5 by
Integración de WAI-ARIA en HTML5Integración de WAI-ARIA en HTML5
Integración de WAI-ARIA en HTML5Jose R. Hilera
664 views9 slides
Desarrollo de webapps 1 by
Desarrollo de webapps 1Desarrollo de webapps 1
Desarrollo de webapps 1Sergio Lozano García
547 views37 slides
Tools and Frameworks by
Tools and FrameworksTools and Frameworks
Tools and FrameworksOscar Martin Cortez Martinez
487 views22 slides
Ejemplo de corrección de errores de accesibilidad WCAG 2.0 en una página web by
Ejemplo de corrección de errores de accesibilidad WCAG 2.0 en una página webEjemplo de corrección de errores de accesibilidad WCAG 2.0 en una página web
Ejemplo de corrección de errores de accesibilidad WCAG 2.0 en una página webJose R. Hilera
1.1K views12 slides

Viewers also liked(20)

Uso de html5 + webcomponents by Avanet
Uso de html5 + webcomponentsUso de html5 + webcomponents
Uso de html5 + webcomponents
Avanet885 views
Mejora tus US con UX y modelos de satisfacción by dnmoncada
Mejora tus US con UX y modelos de satisfacciónMejora tus US con UX y modelos de satisfacción
Mejora tus US con UX y modelos de satisfacción
dnmoncada1.1K views
Integración de WAI-ARIA en HTML5 by Jose R. Hilera
Integración de WAI-ARIA en HTML5Integración de WAI-ARIA en HTML5
Integración de WAI-ARIA en HTML5
Jose R. Hilera664 views
Ejemplo de corrección de errores de accesibilidad WCAG 2.0 en una página web by Jose R. Hilera
Ejemplo de corrección de errores de accesibilidad WCAG 2.0 en una página webEjemplo de corrección de errores de accesibilidad WCAG 2.0 en una página web
Ejemplo de corrección de errores de accesibilidad WCAG 2.0 en una página web
Jose R. Hilera1.1K views
Desarrollo de Mobile Web Apps by Asier Marqués
Desarrollo de Mobile Web AppsDesarrollo de Mobile Web Apps
Desarrollo de Mobile Web Apps
Asier Marqués1.3K views
Introducción a Google Dart + HTML5 by Avanet
Introducción a Google Dart + HTML5Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5
Avanet826 views
Workflow para volar con el CSS by Naiara Abaroa
Workflow para volar con el CSSWorkflow para volar con el CSS
Workflow para volar con el CSS
Naiara Abaroa1.3K views
Introducción a HTML - CSS - JS by Alejandro Miguel
Introducción a HTML - CSS - JS Introducción a HTML - CSS - JS
Introducción a HTML - CSS - JS
Alejandro Miguel1.6K views
PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0) by Jose R. Hilera
PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0)PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0)
PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0)
Jose R. Hilera12.9K views
Ejemplos WAI-ARIA con HTML, CSS y JavaScript by Jose R. Hilera
Ejemplos WAI-ARIA con HTML, CSS y JavaScriptEjemplos WAI-ARIA con HTML, CSS y JavaScript
Ejemplos WAI-ARIA con HTML, CSS y JavaScript
Jose R. Hilera769 views
Desarrollo de aplicaciones web 3.0 (linked data + bpm + cloud) by Software Guru
Desarrollo de aplicaciones web 3.0 (linked data + bpm + cloud) Desarrollo de aplicaciones web 3.0 (linked data + bpm + cloud)
Desarrollo de aplicaciones web 3.0 (linked data + bpm + cloud)
Software Guru3.2K views
Herramientas de evaluación de accesibilidad web WCAG 2.0 by Jose R. Hilera
Herramientas de evaluación de accesibilidad web WCAG 2.0Herramientas de evaluación de accesibilidad web WCAG 2.0
Herramientas de evaluación de accesibilidad web WCAG 2.0
Jose R. Hilera1.1K views
Herramientas Frontend - Betabeers Salamanca - Enero 2015 by Jesus Merino Parra
Herramientas Frontend - Betabeers Salamanca - Enero 2015Herramientas Frontend - Betabeers Salamanca - Enero 2015
Herramientas Frontend - Betabeers Salamanca - Enero 2015
Jesus Merino Parra857 views

Similar to Casper JS - Asegurando la calidad en front-end Drupal

Conferencia Rails: Integracion Continua Y Rails by
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsDavid Calavera
1.1K views69 slides
Probando aplicaciones AngularJS by
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJSRodrigo Pimentel
1.8K views67 slides
Java script para desarrolladores SharePoint by
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePointAdrian Diaz Cervera
1.5K views41 slides
BDD & Cucumber by
BDD & CucumberBDD & Cucumber
BDD & CucumberEnrique Sánchez-Bayuela
2.3K views47 slides
Automatización de pruebas funcionales by
Automatización de pruebas funcionalesAutomatización de pruebas funcionales
Automatización de pruebas funcionalesVicenç García-Altés
3.3K views41 slides
"Al rico" PHP by
"Al rico" PHP"Al rico" PHP
"Al rico" PHPCarlos Buenosvinos
2.2K views59 slides

Similar to Casper JS - Asegurando la calidad en front-end Drupal(20)

Conferencia Rails: Integracion Continua Y Rails by David Calavera
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y Rails
David Calavera1.1K views
Introducción a SharePoint Framework by Haaron Gonzalez
Introducción a SharePoint FrameworkIntroducción a SharePoint Framework
Introducción a SharePoint Framework
Haaron Gonzalez376 views
.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez by .NET UY Meetup
.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez
.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez
.NET UY Meetup777 views
Presentación RodrigoPolo.com @ Barcamp Guatemala '09 by Rodrigo Polo
Presentación RodrigoPolo.com @ Barcamp Guatemala '09Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Rodrigo Polo266 views
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR by Pablo Godel
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
Pablo Godel1.6K views
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio? by Martin Siniawski
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Martin Siniawski578 views

More from David Gil Sánchez

Selfbank - Caso Éxito - DrupalCamp Caceres 2016 by
Selfbank - Caso Éxito - DrupalCamp Caceres 2016Selfbank - Caso Éxito - DrupalCamp Caceres 2016
Selfbank - Caso Éxito - DrupalCamp Caceres 2016David Gil Sánchez
745 views11 slides
Drupal & Paragraphs. DrupalCamp Granada 2016 by
Drupal & Paragraphs. DrupalCamp Granada 2016Drupal & Paragraphs. DrupalCamp Granada 2016
Drupal & Paragraphs. DrupalCamp Granada 2016David Gil Sánchez
735 views37 slides
Presentación MuseoReinaSofia.es en Drupal Camp 2013 by
Presentación MuseoReinaSofia.es en Drupal Camp 2013Presentación MuseoReinaSofia.es en Drupal Camp 2013
Presentación MuseoReinaSofia.es en Drupal Camp 2013David Gil Sánchez
1.7K views16 slides
Mejora la experiencia de búsquedas con SOLR - Sesión Drupal Camp 2013 - Caceres by
Mejora la experiencia de búsquedas con SOLR - Sesión Drupal Camp 2013 - CaceresMejora la experiencia de búsquedas con SOLR - Sesión Drupal Camp 2013 - Caceres
Mejora la experiencia de búsquedas con SOLR - Sesión Drupal Camp 2013 - CaceresDavid Gil Sánchez
2K views42 slides
Drupal + Solr Mejorando la experiencia de búsqueda by
Drupal + Solr Mejorando la experiencia de búsquedaDrupal + Solr Mejorando la experiencia de búsqueda
Drupal + Solr Mejorando la experiencia de búsquedaDavid Gil Sánchez
1.4K views41 slides
BancaCivica.es: Un caso de éxito Drupal en el sector bancario by
BancaCivica.es: Un caso de éxito Drupal en el sector bancarioBancaCivica.es: Un caso de éxito Drupal en el sector bancario
BancaCivica.es: Un caso de éxito Drupal en el sector bancarioDavid Gil Sánchez
929 views38 slides

More from David Gil Sánchez(6)

Selfbank - Caso Éxito - DrupalCamp Caceres 2016 by David Gil Sánchez
Selfbank - Caso Éxito - DrupalCamp Caceres 2016Selfbank - Caso Éxito - DrupalCamp Caceres 2016
Selfbank - Caso Éxito - DrupalCamp Caceres 2016
David Gil Sánchez745 views
Drupal & Paragraphs. DrupalCamp Granada 2016 by David Gil Sánchez
Drupal & Paragraphs. DrupalCamp Granada 2016Drupal & Paragraphs. DrupalCamp Granada 2016
Drupal & Paragraphs. DrupalCamp Granada 2016
David Gil Sánchez735 views
Presentación MuseoReinaSofia.es en Drupal Camp 2013 by David Gil Sánchez
Presentación MuseoReinaSofia.es en Drupal Camp 2013Presentación MuseoReinaSofia.es en Drupal Camp 2013
Presentación MuseoReinaSofia.es en Drupal Camp 2013
David Gil Sánchez1.7K views
Mejora la experiencia de búsquedas con SOLR - Sesión Drupal Camp 2013 - Caceres by David Gil Sánchez
Mejora la experiencia de búsquedas con SOLR - Sesión Drupal Camp 2013 - CaceresMejora la experiencia de búsquedas con SOLR - Sesión Drupal Camp 2013 - Caceres
Mejora la experiencia de búsquedas con SOLR - Sesión Drupal Camp 2013 - Caceres
Drupal + Solr Mejorando la experiencia de búsqueda by David Gil Sánchez
Drupal + Solr Mejorando la experiencia de búsquedaDrupal + Solr Mejorando la experiencia de búsqueda
Drupal + Solr Mejorando la experiencia de búsqueda
David Gil Sánchez1.4K views
BancaCivica.es: Un caso de éxito Drupal en el sector bancario by David Gil Sánchez
BancaCivica.es: Un caso de éxito Drupal en el sector bancarioBancaCivica.es: Un caso de éxito Drupal en el sector bancario
BancaCivica.es: Un caso de éxito Drupal en el sector bancario
David Gil Sánchez929 views

Recently uploaded

Aws Community Day Guatemala Criptografia con AWS KMS by
Aws Community Day Guatemala Criptografia con AWS KMSAws Community Day Guatemala Criptografia con AWS KMS
Aws Community Day Guatemala Criptografia con AWS KMSMario IC
25 views42 slides
MasterMind.pdf by
MasterMind.pdfMasterMind.pdf
MasterMind.pdfrtovarfernandez
17 views5 slides
Peña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptx by
Peña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptxPeña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptx
Peña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptxMOISESPENAANAYA
5 views8 slides
Kubernetes: Más Allá de la Orquestación de Contenedores by
Kubernetes: Más Allá de la Orquestación de ContenedoresKubernetes: Más Allá de la Orquestación de Contenedores
Kubernetes: Más Allá de la Orquestación de ContenedoresOpenDireito
8 views12 slides
trabajotecnologiatemperatura-231005005635-53760f2d.pdf by
trabajotecnologiatemperatura-231005005635-53760f2d.pdftrabajotecnologiatemperatura-231005005635-53760f2d.pdf
trabajotecnologiatemperatura-231005005635-53760f2d.pdfSamuelRamirez83524
5 views2 slides
DEFINICIONES DE BLOGGUER, MOVIE MAKER Y FILMORA. .pptx by
DEFINICIONES DE BLOGGUER, MOVIE MAKER Y FILMORA. .pptxDEFINICIONES DE BLOGGUER, MOVIE MAKER Y FILMORA. .pptx
DEFINICIONES DE BLOGGUER, MOVIE MAKER Y FILMORA. .pptxKarenlisethGuioAlbin
8 views8 slides

Recently uploaded(7)

Aws Community Day Guatemala Criptografia con AWS KMS by Mario IC
Aws Community Day Guatemala Criptografia con AWS KMSAws Community Day Guatemala Criptografia con AWS KMS
Aws Community Day Guatemala Criptografia con AWS KMS
Mario IC25 views
Peña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptx by MOISESPENAANAYA
Peña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptxPeña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptx
Peña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptx
MOISESPENAANAYA5 views
Kubernetes: Más Allá de la Orquestación de Contenedores by OpenDireito
Kubernetes: Más Allá de la Orquestación de ContenedoresKubernetes: Más Allá de la Orquestación de Contenedores
Kubernetes: Más Allá de la Orquestación de Contenedores
OpenDireito8 views
trabajotecnologiatemperatura-231005005635-53760f2d.pdf by SamuelRamirez83524
trabajotecnologiatemperatura-231005005635-53760f2d.pdftrabajotecnologiatemperatura-231005005635-53760f2d.pdf
trabajotecnologiatemperatura-231005005635-53760f2d.pdf
Operations & Data Graph by Neo4j
Operations & Data GraphOperations & Data Graph
Operations & Data Graph
Neo4j36 views

Casper JS - Asegurando la calidad en front-end Drupal

  • 1. Casper js Asegurando la calidad en front-­end
  • 2. David gil Desarrollador Drupal en david.gil@biko2.com @david_gil_biko2
  • 3. ¿ en proyectos Drupal ? Test funcionales Aseguran que el sw cumple los requisitos
  • 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. ¿Para qué? * Pruebas de humo automatizadas - Prueban automáticamente que una serie de funcionalidades clave siguen funcionando después de un deploy * refactoring
  • 6. Show me the code!
  • 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. 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. 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. Pruebas de humo en www.museoreinasofia.es Ej.1
  • 12. Verde que te quiero verde!
  • 13. Test de regresión en www.museoreinasofia.es Ej.2
  • 14. Asegurando el css: phantom css https://github.com/Huddle/PhantomCSS
  • 16. La primera vez es distinto
  • 17. La primera vez es distinto
  • 18. Verde que te quiero verde!
  • 19. Vamos a hacerlo fallar
  • 22. Test con drupal Ej.3 www.internetacademi.com
  • 23. ¡titan juampy! Utilidades para casper en drupal https://www.drupal.org/project/casperjs
  • 24. 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
  • 31. Verde que te quiero verde!
  • 32. Resurrectio: Grabación de test https://github.com/ebrehault/resurrectio
  • 33. ¡Muchas gracias! david.gil@ biko2.com @david_gil_biko2