SlideShare una empresa de Scribd logo
Alberto Torreblanca
                        @albert1t0




Selenium & Drupal

Drupal Camp Lima 2011
"Sale el sol"
El poRque de los test
➔
    Se ha convertido en un
    estándar de calidad.
➔
    Ahorra tiempo de
    tiempo.
➔
    Pruebas en diferentes
    navegadores.
➔
    Protege los
    'Workflows'.
Algunas pautas - testing

             ➔
                 Todos los tests tienen
                 que tener un punto de
                 partida.
             ➔
                 Un test no tiene que
                 depender de otros,
                 para existir.
             ➔
                 Un test debe evaluar
                 una sola funcionalidad.
             ➔
                 Un test debe recoger
                 su basura al terminar.
                 (Cuando sea posible)
Algunos datos de
selenium IDE ...
➔
    Entorno para el
    desarrollo de pruebas
    automatizadas
➔
    Pruebas de tipo
    funcional a través de
    un navegador.
➔
    Open source,
    desarrollado en
    Javascript.
➔
    Extensión para Firefox.
Instalando Selenium IDE


➔
    Descargarlo en el site del
    proyecto:
    http://seleniumhq.org/download/

➔
    Realizarlo desde Firefox
➔
    Se intalará el IDE y
    varios Formatters.
➔
    Herramientas ››
    Selenium IDE.
Panel – selenium ide
            ➔
                Dirección Base
            ➔
                Velocidad - slider
            ➔
                Ejecutar todos los test.
            ➔
                Ejecutar un test.
            ➔
                Pausar.
            ➔
                Paso a paso - en pausa.
            ➔
                Aplicar secuencias
                repetitivas (Avanzado)
            ➔
                Grabado.
EJEMPLO – TEST CASE
Verify & assert
           ➔
               verifyElementPresent
           ➔
               verifyElementNotPrese
               nt
           ➔
               verifyText
           ➔
               verifyAttribute
           ➔
               verifyChecked
           ➔
               verifyAlert
           ➔
               verifyTitle
LOCALIZANDO

➔
    ID
➔
    Name
➔
    Link
➔
    Xpath
➔
    CSS
XPATH
➔
    //div[contains(text(),'
    Tiene un nombre')]
➔
    //div[@class='leftdiv']
    /input[2]
➔
    //input[@value='Butto
    n with ID']/following-
    sibling::input[@value='
    Sibling Button']
MISCELANEA - SELECTOR
           ➔
               link=Pertineo Quidne Si
               Validus
           ➔
               css=h2 > a (con Value)
           ➔
               //a[contains(text(),'Pert
               ineo Quidne Si Validus')]
           ➔
               //div[@id='node-
               97']/h2/a
           ➔
               //a[contains(@href,
               '/d7demo/node/97')]
           ➔
               //h2/a (con Value)
MáS ...



➔   Se puede buscar patrones:
    verifyText
    css=h2 > a
    glob:*dus
➔   Se pueden buscar o veificar
    expresiones regulares:
    verifyText
    css=div.meta.submitted > span
    regexp:w{7} w{3} *
JavaScript
➔
    javascript{ 10 * 10 }
➔
    javascript{ d = new
    Date();d.getHours()}
➔
    Acceso al DOM a través del
    objeto browserbot
    var window =
    this.browserbot.getUserWi
    ndow();
➔
    Fireevents en los test
    (onFocus, onBlur,
    onChange, onSubmit,
    onMouseOut,
    onMouseOver
Comentario & variable

➔
    Comentar es
    importante.
➔
    Store
➔
    Storetext
➔
    Store .....
➔
    Echo ${var}
➔
    ${var}
ALMACENANDO SUITES

           ➔
               Se guardan los casos
               independientes.
           ➔
               Se guardan los test
               Suites.
           ➔
               Todo lo que se guarda
               es HTML (Tablas)
           ➔
               Guarda para llamar
               desde otros lenguajes.
Selenium rc
➔
    Servidor java
    multiplataforma
➔
    Ejecución de pruebas
    en diferentes
    navegadores
➔
    Diferentes lenguajes
    java, python, php, C#,
    Ruby, PHPUnit, TestNG
Selenium & Drupal
Lanzando el server
➔   FIREFOX
    java -jar selenium-server-standalone-2.15.0.jar -htmlSuite
    *firefox http://localhost/d7demo
    ruta_completa/Test_suite.html ruta_completa/result.html
➔   CHROME
    java -jar selenium-server-standalone-2.15.0.jar -htmlSuite
    *chrome http://localhost/d7demo
    ruta_completa/Test_suite.html ruta_completa/result.html
➔   IEXPLORER
    java -jar selenium-server-standalone-2.15.0.jar -htmlSuite
    *firefox http://localhost/d7demo
    ruta_completa/Test_suite.html ruta_completa/result.html
EJEMPLO CHROME
REFERENCIAS
          http://seleniumhq.org/docs/
GRACIAS
alberto.torreblanca@gmail.com
          @albert1t0

Más contenido relacionado

PDF
Gulp js php sevilla 28 septiembre 2016
PDF
Deployer PHP. Presentación para #PHPSevilla
PDF
Intro a cakephp
PPTX
E2E test con Cypress
PDF
Webpack desde cero
PPTX
Selenium
PDF
Conferencia Rails: Integracion Continua Y Rails
PDF
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
Gulp js php sevilla 28 septiembre 2016
Deployer PHP. Presentación para #PHPSevilla
Intro a cakephp
E2E test con Cypress
Webpack desde cero
Selenium
Conferencia Rails: Integracion Continua Y Rails
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR

Similar a Selenium & Drupal (20)

KEY
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
PDF
Gwt III - Avanzado
PDF
[ES] Primeros pasos con Maven
PDF
Probando aplicaciones AngularJS
PDF
Jvmmx docker jvm
PDF
Intro a cakephp
PPTX
Introducción a groovy & grails
PDF
Curso TDD Ruby on Rails #03: Tests unitarios
PDF
Introducción a NodeJS
PDF
Construccion de proyectos con gradle
PDF
Symfony en Drupal 8 - DrupalCamp Spain
PDF
Cloud Computing: las nuevas Capas de Persistencia
PDF
Groovy & Grails
PPTX
Breve introducción práctica al DevOps - (es) 2021_03_18
PDF
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
ODP
Taller introduccion symfony2
PDF
Rompiendo paradigmas
PPTX
Pipelines as Code en Azure DevOps
PDF
Open Source Modern Web Development
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Gwt III - Avanzado
[ES] Primeros pasos con Maven
Probando aplicaciones AngularJS
Jvmmx docker jvm
Intro a cakephp
Introducción a groovy & grails
Curso TDD Ruby on Rails #03: Tests unitarios
Introducción a NodeJS
Construccion de proyectos con gradle
Symfony en Drupal 8 - DrupalCamp Spain
Cloud Computing: las nuevas Capas de Persistencia
Groovy & Grails
Breve introducción práctica al DevOps - (es) 2021_03_18
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
Taller introduccion symfony2
Rompiendo paradigmas
Pipelines as Code en Azure DevOps
Open Source Modern Web Development
Publicidad

Más de Alberto Torreblanca Villavicencio (19)

PDF
Drupal Camp 2013 - Lo nuevo de Open Atrium 2
PDF
Metodologías ágiles desarrollo de software
PDF
Internet, pasado y presente
PDF
Análisis de items con jMetrik
PDF
Medición y construcción de instrumentos
PDF
Cursos virtuales con chamilo lms
PDF
Mobile learning curso y lecciones en la red
PDF
Introducción a la administración de sitios web
PDF
La educación & internet
PDF
PDF
Migrando data - DRUPAL
PPT
Entornos personales de aprendizaje
PDF
Actualidad del e-learning
PDF
Cambiando de paradigmas en las aulas
ODP
Iniciándose en Drupal 7 con Druppix
PDF
Lo nuevo de drupal 7 - Invasión drupal 27-11-2010
ODP
Open Atrium - adaptación español
ODP
Spanish Redistributable Intro To Scrum
ODP
MedicióN Y EvaluacióN
Drupal Camp 2013 - Lo nuevo de Open Atrium 2
Metodologías ágiles desarrollo de software
Internet, pasado y presente
Análisis de items con jMetrik
Medición y construcción de instrumentos
Cursos virtuales con chamilo lms
Mobile learning curso y lecciones en la red
Introducción a la administración de sitios web
La educación & internet
Migrando data - DRUPAL
Entornos personales de aprendizaje
Actualidad del e-learning
Cambiando de paradigmas en las aulas
Iniciándose en Drupal 7 con Druppix
Lo nuevo de drupal 7 - Invasión drupal 27-11-2010
Open Atrium - adaptación español
Spanish Redistributable Intro To Scrum
MedicióN Y EvaluacióN
Publicidad

Último (16)

PPTX
ANESTESIA 2025.pptx PARA EXPOSICIONES 2025
PDF
Lazo de Unión – Agosto 2025 | Boletín de la Federación Santo Domingo
PPTX
Mi Viaje de Liderazgo en Experiencias y Aprendizajes.pptx
PDF
PanelDeInspiracion-Act2-EmelyBermeoArmijos .pdf
PPTX
Salud Ocular en la Atencion Primaria.pptx
PPTX
10 pasos 3 anexos de una lactancia materna
PPTX
CRECIMEINTO Y DESARROLLO GINECOLOGIA MEDICINA
PPTX
ACTIVIDAD 1 EXPERIENCIA DE APRENDIZAJE NUMERO 8
PDF
ENEAGRAMA ---------------- ANDREA VARGAS
PPTX
Sanando el Pasado^J Construyendo el Futuro.pptx
PPTX
Puerperio Normal-Dr pineda-rina Castillo.pptx
PPTX
Situaciones irregulares de pareja presentacion
PPT
Doctrina e Historia Institucional a lo largo de la historia
PPTX
Situaciones Irregulares de pareja presentacion
PDF
Manual de Quiromancia.pdf…………………………………..
PPTX
Que-es-la-Personalidad.pptx.............
ANESTESIA 2025.pptx PARA EXPOSICIONES 2025
Lazo de Unión – Agosto 2025 | Boletín de la Federación Santo Domingo
Mi Viaje de Liderazgo en Experiencias y Aprendizajes.pptx
PanelDeInspiracion-Act2-EmelyBermeoArmijos .pdf
Salud Ocular en la Atencion Primaria.pptx
10 pasos 3 anexos de una lactancia materna
CRECIMEINTO Y DESARROLLO GINECOLOGIA MEDICINA
ACTIVIDAD 1 EXPERIENCIA DE APRENDIZAJE NUMERO 8
ENEAGRAMA ---------------- ANDREA VARGAS
Sanando el Pasado^J Construyendo el Futuro.pptx
Puerperio Normal-Dr pineda-rina Castillo.pptx
Situaciones irregulares de pareja presentacion
Doctrina e Historia Institucional a lo largo de la historia
Situaciones Irregulares de pareja presentacion
Manual de Quiromancia.pdf…………………………………..
Que-es-la-Personalidad.pptx.............

Selenium & Drupal

  • 1. Alberto Torreblanca @albert1t0 Selenium & Drupal Drupal Camp Lima 2011 "Sale el sol"
  • 2. El poRque de los test ➔ Se ha convertido en un estándar de calidad. ➔ Ahorra tiempo de tiempo. ➔ Pruebas en diferentes navegadores. ➔ Protege los 'Workflows'.
  • 3. Algunas pautas - testing ➔ Todos los tests tienen que tener un punto de partida. ➔ Un test no tiene que depender de otros, para existir. ➔ Un test debe evaluar una sola funcionalidad. ➔ Un test debe recoger su basura al terminar. (Cuando sea posible)
  • 4. Algunos datos de selenium IDE ... ➔ Entorno para el desarrollo de pruebas automatizadas ➔ Pruebas de tipo funcional a través de un navegador. ➔ Open source, desarrollado en Javascript. ➔ Extensión para Firefox.
  • 5. Instalando Selenium IDE ➔ Descargarlo en el site del proyecto: http://seleniumhq.org/download/ ➔ Realizarlo desde Firefox ➔ Se intalará el IDE y varios Formatters. ➔ Herramientas ›› Selenium IDE.
  • 6. Panel – selenium ide ➔ Dirección Base ➔ Velocidad - slider ➔ Ejecutar todos los test. ➔ Ejecutar un test. ➔ Pausar. ➔ Paso a paso - en pausa. ➔ Aplicar secuencias repetitivas (Avanzado) ➔ Grabado.
  • 8. Verify & assert ➔ verifyElementPresent ➔ verifyElementNotPrese nt ➔ verifyText ➔ verifyAttribute ➔ verifyChecked ➔ verifyAlert ➔ verifyTitle
  • 9. LOCALIZANDO ➔ ID ➔ Name ➔ Link ➔ Xpath ➔ CSS
  • 10. XPATH ➔ //div[contains(text(),' Tiene un nombre')] ➔ //div[@class='leftdiv'] /input[2] ➔ //input[@value='Butto n with ID']/following- sibling::input[@value=' Sibling Button']
  • 11. MISCELANEA - SELECTOR ➔ link=Pertineo Quidne Si Validus ➔ css=h2 > a (con Value) ➔ //a[contains(text(),'Pert ineo Quidne Si Validus')] ➔ //div[@id='node- 97']/h2/a ➔ //a[contains(@href, '/d7demo/node/97')] ➔ //h2/a (con Value)
  • 12. MáS ... ➔ Se puede buscar patrones: verifyText css=h2 > a glob:*dus ➔ Se pueden buscar o veificar expresiones regulares: verifyText css=div.meta.submitted > span regexp:w{7} w{3} *
  • 13. JavaScript ➔ javascript{ 10 * 10 } ➔ javascript{ d = new Date();d.getHours()} ➔ Acceso al DOM a través del objeto browserbot var window = this.browserbot.getUserWi ndow(); ➔ Fireevents en los test (onFocus, onBlur, onChange, onSubmit, onMouseOut, onMouseOver
  • 14. Comentario & variable ➔ Comentar es importante. ➔ Store ➔ Storetext ➔ Store ..... ➔ Echo ${var} ➔ ${var}
  • 15. ALMACENANDO SUITES ➔ Se guardan los casos independientes. ➔ Se guardan los test Suites. ➔ Todo lo que se guarda es HTML (Tablas) ➔ Guarda para llamar desde otros lenguajes.
  • 16. Selenium rc ➔ Servidor java multiplataforma ➔ Ejecución de pruebas en diferentes navegadores ➔ Diferentes lenguajes java, python, php, C#, Ruby, PHPUnit, TestNG
  • 18. Lanzando el server ➔ FIREFOX java -jar selenium-server-standalone-2.15.0.jar -htmlSuite *firefox http://localhost/d7demo ruta_completa/Test_suite.html ruta_completa/result.html ➔ CHROME java -jar selenium-server-standalone-2.15.0.jar -htmlSuite *chrome http://localhost/d7demo ruta_completa/Test_suite.html ruta_completa/result.html ➔ IEXPLORER java -jar selenium-server-standalone-2.15.0.jar -htmlSuite *firefox http://localhost/d7demo ruta_completa/Test_suite.html ruta_completa/result.html
  • 20. REFERENCIAS http://seleniumhq.org/docs/