SlideShare una empresa de Scribd logo
2
Lo más leído
17
Lo más leído
SELENIUM
RENE ASCANTA
CRISTIAN ARAQUE
MARCELO TITUAÑA
SHEYLA GUERRERO
DEFINICION
 Es un entorno de pruebas de software para
aplicaciones basadas en la web. Selenium provee
una herramienta de grabar/reproducir para crear
pruebas sin usar un lenguaje de scripting para
pruebas (Selenium IDE). Incluye también un
lenguaje específico de dominio para pruebas
(Selanese) para escribir pruebas en un amplio
número de lenguajes de programación populares
incluyendo Java, C#, Ruby, Groovy, Perl, Php y
Python. Las pruebas pueden ejecutarse entonces
usando la mayoría de los navegadores web
modernos en diferentes sistemas operativos como
Windows, Linux y OSX.
COMPONENTES DE SELENIUM
Es un entorno de desarrollo integrado para pruebas con Selenium. Está
implementado como una extensión de Firefox y permite grabar, editar y depurar
pruebas. Originalmente se le conoció como Selenium Recorder. Se pueden
desarrollar automáticamente scripts que se pueden editar manualmente con
autocompletado de las sentencias, moviendo rápidamente comandos. Los scripts se
generan en Selanese, un lenguaje de scripting especial para Selenium. Selanese
provee comandos que ejecutan acciones sobre objetos en el navegador, como hacer
click en un enlace, seleccionar de una lista de opciones, verificar la presencia de un
texto en particular así como para tomar la totalidad de la página producto de las
acciones.
 Características:
 Grabación y reproducción fácil
 Selección inteligente de campos usando ID, nombre o XPath según se necesite.
 Autocompletado de los comandos de Selenium más comunes.
 Pruebas de revisión cruzada
 Depuración y puntos de verificación (breakpoint)
 Almacenar las pruebas como Selanese, Ruby, Java y otros formatos.
 Soporte al archivo user-extensions.js
 Opción para acertar el título de la página.
 Opción de modificarle a la medida con el uso de complementos
COMPONENTES DE SELENIUM
Selenium Client API
Interfaz de programación de aplicaciones (API) de
clientes Como alternativa a escribir pruebas en
Selanese, las pruebas pueden escribirse en varios
lenguajes de programación, éstos se comunican con
Selenium mediante llamadas a los métodos de
Selenium Client API. Actualmente Selenium provee
API para Java, C#, Ruby y Python. Con Selenium 2
se presentó una nueva API de clientes, con
WebDriver como componente central, aunque la
anterior API puede seguirse usando llamando a la
clase Selenium.
COMPONENTES DE SELENIUM
Selenium Remote Control (RC)
Es un servidor escrito en Java que acepta comandos al navegador vía
HTTP. RC hace posible escribir pruebas automatizadas para aplicaciones
web, en cualquier lenguaje de programación lo que permite una mejor
integración de Selenium a entornos de prueba existentes. Para hacer la
escritura de pruebas más fácil, Selenium actualmente provee controladores
de dispositivos para PHP, Python, Ruby,.NET, Perl y Java. El controlador de
Java puede usarse para JavaScript vía el motor Rhino. Selenium Remote
Control fue una refactorización de Driven Selenium o Selenium B, la
versión original lanzaba directamente un proceso para el navegador en
cuestión desde el lenguaje de prueba; el protocolo de cable (confusamente
llamado Selanese también en aquel tiempo) fue reimplementado al portarse
a cada lenguaje. Después de la refactorización, hubo un proceso
intermediario demonio entre el script controlador y el navegador. Los
beneficios incluyeron la capacidad de controlar navegadores remotos y
reducir la necesidad de portar el código a un número creciente de
lenguajes. Con la liberación de Selenium 2, Selenium RC fue oficialmente
descartado en favor de Selenium WebDriver.
COMPONENTES DE SELENIUM
Selenium WebDriver
Selenium WebDriver es el sucesor de Selenium RC. Selenium WebDriver acepta comandos (enviados en
Selenese o vía el API de cliente) y los envía a un navegador. Esto se implementa a través de un controlador
del navegador específico para cada navegador que envía los comandos y trae los resultados de regreso. La
mayoría de los controladores de navegador lanzan y acceden a la aplicación de navegador (como Mozilla
Firefox o Internet Explorer), pero también hay un controlador para HtmlUnit que simula un navegador. A
diferencia de Selenium 1, donde el servidor Selenium RC era indispensable, en Selenium WebDriver no se
requiere de un servidor especial para ejecutar las pruebas, en vez de ello WebDriver inicia una instancia del
navegador y lo controla; sin embargo puede usarse Selenium Grid (ver abajo) para ejecutar pruebas en
sistemas remotos (ver más abajo). Desde inicios de 2012, Simon Stewart de Google (inventor del WebDriver)
y David Burns de la Fundación Mozilla se encuentran negociando con el W3C que WebDriver se convierta en
un estándar de Internet, como tal Selenium-Webdriver (Selenium 2.0) apunta a ser la implementación de
referencia del estándar WebDriver en varios lenguajes de programación. A la fecha (marzo de 2013)
Selenium-WebDriver está completamente implementado y soportado en Java, Ruby, Python y C#. En la
práctica, esto significa que la API de Selenium 2.0 tiene significativamente menos llamadas que el API de
Selenium 1.0. Donde Selenium 1.0 intentaba proveer una interfaz rica en muchas operaciones, Selenium 2.0
intenta proveer de los bloques de construcción básicos con los cuales los desarrolladores puedan programar
su propio lenguaje específico de dominio. Uno de ellos ya existe y es el proyecto Watir en Ruby que tiene
una historia rica en buen diseño. Watir-WebDriver implementa el API de Watir como un envolvente del
Selenium-Webdriver en Ruby. Watir-WebDriver se crea de forma completamente automática, basado en las
especificaciones del WebDriver y HTML.
COMPONENTES DE SELENIUM
Selenium Grid
Es un servidor que permite usar instancias de
navegador ejecutándose en máquinas remotas. Con
Selenium Grid, uno de los servidores actúa como
concentrador. Las pruebas contactan al concentrador
para obtener acceso a instancias de navegadores; el
concentrador lleva una lista de instancias de los
navegadores (Nodos de WebDriver) y permiten a las
pruebas usar estas instancias. Selenium Grid permite
ejecutar pruebas en paralelo en múltiples máquinas y
manejar diferentes versiones y configuraciones de
manera centralizada.
REQUERIMIENTOS.
 En este punto se indicará la compatibilidad de este
plugin con diferentes configuraciones (navegador /
sistema operativo / lenguaje de programación),
describiendo las acciones permitidas o bien los
problemas encontrados al ejecutarlo con esa
configuración.
NAVEGADOR
Navegador Funcionamiento
Firefox 3 Grabar y reproducir test
Firefox 2 Grabar y reproducir test
IE 8b1 No esta soportado
IE 7 No esta soportado
Safari 3 No esta soportado
Safari 2 No esta soportado
Opera 9 No esta soportado
Opera 8 No esta soportado
Otros No esta soportado
SISTEMA OPERATIVO
Sistema operativo Funcionamiento
Windows Trabaja con Firefox 2 o mas
OS X Trabaja con Firefox 2 o mas
Linux Trabaja con Firefox 2 o mas
Solaris Trabaja con Firefox 2 o mas
Otros
Debería de trabajar con Firefox
2 o mas
LENGUAJ E DE PROGRAMACION
Lenguaje Funcionamiento
C# Genera código
Java Genera código
Perl Genera código
PHP Genera código
Python Genera código
Ruby Genera código
Otros Genera código personalizado
PROCEDIMIENTO
 Instalamos Selenium IDE
 Visualización en el navegador
OPCIONES
OPCIONES
DETALLE DEL PANEL
DETALLE DE PANEL
EJEMPLO DE NAVEGACIÓN CON SELENIUM
TESTRUNNER.
 Para la realización de este ejemplo se utilizará el
ejemplo de navegación básico del apartado 6, en
este ejemplo se pretende lanzar el script desde la
opción de TestRunner con el objetivo de obtener
los detalles de la ejecución y visualizar información
de la ejecución.Para ello:
 Abrir el script de navegación.
 Ejecutar la opción de ejecución en modo
TestRunner.
 Antes de lanzar el script:
Selenium
DESPUÉS DE LANZAR EL SCRIPT:
 Como se puede observar se indican los pasos seguidos (comandos
ejecutados) en la tabla central, así como el tiempo de ejecución o
estadísticas de los comandos realizados correctamente / incompletos / con
error. También permite ejecutar dos opciones para ver los resultados.
 Opción View DOM: Permite visualizar un árbol de la estructura de la página
visualizada.

Más contenido relacionado

PPT
Selenium Automation Framework
PDF
Automation Testing using Selenium
PPTX
Automation Testing by Selenium Web Driver
PPTX
Selenium ppt
PPTX
Test automation using selenium
KEY
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
PPTX
Selenium WebDriver training
ODP
Selenium ppt
Selenium Automation Framework
Automation Testing using Selenium
Automation Testing by Selenium Web Driver
Selenium ppt
Test automation using selenium
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Selenium WebDriver training
Selenium ppt

La actualidad más candente (20)

PPTX
Introduction to selenium
PPTX
An overview of selenium webdriver
PPTX
software testing
PDF
Jenkins Pipelines
PPTX
Test Automation and Selenium
PPTX
Selenium- A Software Testing Tool
PDF
Selenium webdriver interview questions and answers
PPTX
Selenium Interview Questions and Answers | Selenium Tutorial | Selenium Train...
PPTX
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
PDF
Introduction to Selenium grid
PPT
Selenium Concepts
KEY
Selenium Grid
PPTX
Automation - web testing with selenium
PDF
STLC (Software Testing Life Cycle)
PPT
Selenium
PPS
Selenium Demo
PDF
Selenium - Introduction
PDF
Robot Framework Introduction
PPTX
Introduction to Selenium Web Driver
PPTX
Jenkins CI
Introduction to selenium
An overview of selenium webdriver
software testing
Jenkins Pipelines
Test Automation and Selenium
Selenium- A Software Testing Tool
Selenium webdriver interview questions and answers
Selenium Interview Questions and Answers | Selenium Tutorial | Selenium Train...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Introduction to Selenium grid
Selenium Concepts
Selenium Grid
Automation - web testing with selenium
STLC (Software Testing Life Cycle)
Selenium
Selenium Demo
Selenium - Introduction
Robot Framework Introduction
Introduction to Selenium Web Driver
Jenkins CI
Publicidad

Destacado (20)

PPT
Usando Selenium Con Firefox E Ie
PPTX
Testing con selenium
PDF
BDD para la mejora de la calidad software
PDF
PDF
Introducción a automatización de pruebas web
PDF
Introducción al software testing
PPTX
Workshop: Testeando nuestra aplicaciones.
PPTX
Introducción a gherkin
PDF
Creación de Frameworks para Automation: Las básicas (meet up automation UY Ag...
PPTX
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
ODP
Introducción a Behaviour Driven Development
PPTX
BDD - Desarrollo dirigido por comportamiento
PDF
BDD & Cucumber
PPTX
Eliminando la brecha entre clientes y desarrolladores mediante BDD
PPTX
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
PDF
Curso TDD Ruby on Rails #02: Test Driven Development
PPTX
Automatización de pruebas funcionales
PPTX
Automatizacion De Pruebas De Software
Usando Selenium Con Firefox E Ie
Testing con selenium
BDD para la mejora de la calidad software
Introducción a automatización de pruebas web
Introducción al software testing
Workshop: Testeando nuestra aplicaciones.
Introducción a gherkin
Creación de Frameworks para Automation: Las básicas (meet up automation UY Ag...
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Introducción a Behaviour Driven Development
BDD - Desarrollo dirigido por comportamiento
BDD & Cucumber
Eliminando la brecha entre clientes y desarrolladores mediante BDD
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
Curso TDD Ruby on Rails #02: Test Driven Development
Automatización de pruebas funcionales
Automatizacion De Pruebas De Software
Publicidad

Similar a Selenium (20)

DOCX
Instalacion dreamviewer
PDF
Test Automation using seleniun webdrive.pdf
PDF
Instalación y Datos Básicos Sobre Dreamweaver
PPTX
Web Developer
PDF
Servicios web
DOCX
Articulo tipos de ide y ajax control toolkit
PPTX
Framework Laravel
PPTX
Novedades visual studio 2015
DOCX
michael ascanio
PPTX
Desarrollo de software orientado a la web. alex vaca
PDF
20001215 Programación de Servlets y WML
PPT
Programación en Internet
PPTX
PRESENTACION INFORMATICA.pptx12345678900
PPTX
Selenium + Docker: ¡Qué me es-test container!
PPTX
Selenium + docker
PPTX
Herramientas de desarrollo.pptx
DOC
2009_asp.net_capitulo_1
DOCX
Sercicios web
DOC
Introducción a la programación visual
PPTX
intro_laravel_mobile ...................
Instalacion dreamviewer
Test Automation using seleniun webdrive.pdf
Instalación y Datos Básicos Sobre Dreamweaver
Web Developer
Servicios web
Articulo tipos de ide y ajax control toolkit
Framework Laravel
Novedades visual studio 2015
michael ascanio
Desarrollo de software orientado a la web. alex vaca
20001215 Programación de Servlets y WML
Programación en Internet
PRESENTACION INFORMATICA.pptx12345678900
Selenium + Docker: ¡Qué me es-test container!
Selenium + docker
Herramientas de desarrollo.pptx
2009_asp.net_capitulo_1
Sercicios web
Introducción a la programación visual
intro_laravel_mobile ...................

Selenium

  • 2. DEFINICION  Es un entorno de pruebas de software para aplicaciones basadas en la web. Selenium provee una herramienta de grabar/reproducir para crear pruebas sin usar un lenguaje de scripting para pruebas (Selenium IDE). Incluye también un lenguaje específico de dominio para pruebas (Selanese) para escribir pruebas en un amplio número de lenguajes de programación populares incluyendo Java, C#, Ruby, Groovy, Perl, Php y Python. Las pruebas pueden ejecutarse entonces usando la mayoría de los navegadores web modernos en diferentes sistemas operativos como Windows, Linux y OSX.
  • 3. COMPONENTES DE SELENIUM Es un entorno de desarrollo integrado para pruebas con Selenium. Está implementado como una extensión de Firefox y permite grabar, editar y depurar pruebas. Originalmente se le conoció como Selenium Recorder. Se pueden desarrollar automáticamente scripts que se pueden editar manualmente con autocompletado de las sentencias, moviendo rápidamente comandos. Los scripts se generan en Selanese, un lenguaje de scripting especial para Selenium. Selanese provee comandos que ejecutan acciones sobre objetos en el navegador, como hacer click en un enlace, seleccionar de una lista de opciones, verificar la presencia de un texto en particular así como para tomar la totalidad de la página producto de las acciones.  Características:  Grabación y reproducción fácil  Selección inteligente de campos usando ID, nombre o XPath según se necesite.  Autocompletado de los comandos de Selenium más comunes.  Pruebas de revisión cruzada  Depuración y puntos de verificación (breakpoint)  Almacenar las pruebas como Selanese, Ruby, Java y otros formatos.  Soporte al archivo user-extensions.js  Opción para acertar el título de la página.  Opción de modificarle a la medida con el uso de complementos
  • 4. COMPONENTES DE SELENIUM Selenium Client API Interfaz de programación de aplicaciones (API) de clientes Como alternativa a escribir pruebas en Selanese, las pruebas pueden escribirse en varios lenguajes de programación, éstos se comunican con Selenium mediante llamadas a los métodos de Selenium Client API. Actualmente Selenium provee API para Java, C#, Ruby y Python. Con Selenium 2 se presentó una nueva API de clientes, con WebDriver como componente central, aunque la anterior API puede seguirse usando llamando a la clase Selenium.
  • 5. COMPONENTES DE SELENIUM Selenium Remote Control (RC) Es un servidor escrito en Java que acepta comandos al navegador vía HTTP. RC hace posible escribir pruebas automatizadas para aplicaciones web, en cualquier lenguaje de programación lo que permite una mejor integración de Selenium a entornos de prueba existentes. Para hacer la escritura de pruebas más fácil, Selenium actualmente provee controladores de dispositivos para PHP, Python, Ruby,.NET, Perl y Java. El controlador de Java puede usarse para JavaScript vía el motor Rhino. Selenium Remote Control fue una refactorización de Driven Selenium o Selenium B, la versión original lanzaba directamente un proceso para el navegador en cuestión desde el lenguaje de prueba; el protocolo de cable (confusamente llamado Selanese también en aquel tiempo) fue reimplementado al portarse a cada lenguaje. Después de la refactorización, hubo un proceso intermediario demonio entre el script controlador y el navegador. Los beneficios incluyeron la capacidad de controlar navegadores remotos y reducir la necesidad de portar el código a un número creciente de lenguajes. Con la liberación de Selenium 2, Selenium RC fue oficialmente descartado en favor de Selenium WebDriver.
  • 6. COMPONENTES DE SELENIUM Selenium WebDriver Selenium WebDriver es el sucesor de Selenium RC. Selenium WebDriver acepta comandos (enviados en Selenese o vía el API de cliente) y los envía a un navegador. Esto se implementa a través de un controlador del navegador específico para cada navegador que envía los comandos y trae los resultados de regreso. La mayoría de los controladores de navegador lanzan y acceden a la aplicación de navegador (como Mozilla Firefox o Internet Explorer), pero también hay un controlador para HtmlUnit que simula un navegador. A diferencia de Selenium 1, donde el servidor Selenium RC era indispensable, en Selenium WebDriver no se requiere de un servidor especial para ejecutar las pruebas, en vez de ello WebDriver inicia una instancia del navegador y lo controla; sin embargo puede usarse Selenium Grid (ver abajo) para ejecutar pruebas en sistemas remotos (ver más abajo). Desde inicios de 2012, Simon Stewart de Google (inventor del WebDriver) y David Burns de la Fundación Mozilla se encuentran negociando con el W3C que WebDriver se convierta en un estándar de Internet, como tal Selenium-Webdriver (Selenium 2.0) apunta a ser la implementación de referencia del estándar WebDriver en varios lenguajes de programación. A la fecha (marzo de 2013) Selenium-WebDriver está completamente implementado y soportado en Java, Ruby, Python y C#. En la práctica, esto significa que la API de Selenium 2.0 tiene significativamente menos llamadas que el API de Selenium 1.0. Donde Selenium 1.0 intentaba proveer una interfaz rica en muchas operaciones, Selenium 2.0 intenta proveer de los bloques de construcción básicos con los cuales los desarrolladores puedan programar su propio lenguaje específico de dominio. Uno de ellos ya existe y es el proyecto Watir en Ruby que tiene una historia rica en buen diseño. Watir-WebDriver implementa el API de Watir como un envolvente del Selenium-Webdriver en Ruby. Watir-WebDriver se crea de forma completamente automática, basado en las especificaciones del WebDriver y HTML.
  • 7. COMPONENTES DE SELENIUM Selenium Grid Es un servidor que permite usar instancias de navegador ejecutándose en máquinas remotas. Con Selenium Grid, uno de los servidores actúa como concentrador. Las pruebas contactan al concentrador para obtener acceso a instancias de navegadores; el concentrador lleva una lista de instancias de los navegadores (Nodos de WebDriver) y permiten a las pruebas usar estas instancias. Selenium Grid permite ejecutar pruebas en paralelo en múltiples máquinas y manejar diferentes versiones y configuraciones de manera centralizada.
  • 8. REQUERIMIENTOS.  En este punto se indicará la compatibilidad de este plugin con diferentes configuraciones (navegador / sistema operativo / lenguaje de programación), describiendo las acciones permitidas o bien los problemas encontrados al ejecutarlo con esa configuración.
  • 9. NAVEGADOR Navegador Funcionamiento Firefox 3 Grabar y reproducir test Firefox 2 Grabar y reproducir test IE 8b1 No esta soportado IE 7 No esta soportado Safari 3 No esta soportado Safari 2 No esta soportado Opera 9 No esta soportado Opera 8 No esta soportado Otros No esta soportado
  • 10. SISTEMA OPERATIVO Sistema operativo Funcionamiento Windows Trabaja con Firefox 2 o mas OS X Trabaja con Firefox 2 o mas Linux Trabaja con Firefox 2 o mas Solaris Trabaja con Firefox 2 o mas Otros Debería de trabajar con Firefox 2 o mas
  • 11. LENGUAJ E DE PROGRAMACION Lenguaje Funcionamiento C# Genera código Java Genera código Perl Genera código PHP Genera código Python Genera código Ruby Genera código Otros Genera código personalizado
  • 13.  Visualización en el navegador
  • 18. EJEMPLO DE NAVEGACIÓN CON SELENIUM TESTRUNNER.  Para la realización de este ejemplo se utilizará el ejemplo de navegación básico del apartado 6, en este ejemplo se pretende lanzar el script desde la opción de TestRunner con el objetivo de obtener los detalles de la ejecución y visualizar información de la ejecución.Para ello:  Abrir el script de navegación.  Ejecutar la opción de ejecución en modo TestRunner.  Antes de lanzar el script:
  • 20. DESPUÉS DE LANZAR EL SCRIPT:
  • 21.  Como se puede observar se indican los pasos seguidos (comandos ejecutados) en la tabla central, así como el tiempo de ejecución o estadísticas de los comandos realizados correctamente / incompletos / con error. También permite ejecutar dos opciones para ver los resultados.  Opción View DOM: Permite visualizar un árbol de la estructura de la página visualizada.