0 calificaciones0% encontró este documento útil (0 votos)
221 vistas9 páginas
Tu To Selenium
Selenium is an open source test automation tool for web applications that allows recording and playback of test cases without using a scripting language. It includes Selenium IDE, a record and playback tool integrated into Firefox, and Selenium Client API that allows writing tests in popular programming languages like Java, C#, Ruby, Groovy, Perl, PHP and Python. Selenium WebDriver is the successor to Selenium RC and launches a browser instance to run tests without requiring a separate server.
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0 calificaciones0% encontró este documento útil (0 votos)
221 vistas9 páginas
Tu To Selenium
Selenium is an open source test automation tool for web applications that allows recording and playback of test cases without using a scripting language. It includes Selenium IDE, a record and playback tool integrated into Firefox, and Selenium Client API that allows writing tests in popular programming languages like Java, C#, Ruby, Groovy, Perl, PHP and Python. Selenium WebDriver is the successor to Selenium RC and launches a browser instance to run tests without requiring a separate server.
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9
Realizado Por:
Rodrguez Garca Julio Cesar
De La Cruz Daz Francisco Javier Medina Olgun Emmanuel Tutorial Selenium
Verificacin y Validacin de Software FACULTAD DE INGENIERA
UNIVERSIDAD NACIONAL AUTNOMA DE MXICO
1. INTRODUCCIN
Selenium 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 tambin un lenguaje especfico de dominio para pruebas (Selanese) para escribir pruebas en un amplio nmero de lenguajes de programacin populares incluyendo Java, C#, Ruby, Groovy, Perl, Php y Python. Las pruebas pueden ejecutarse entonces usando la mayora de los navegadores web modernos en diferentes sistemas operativos como Windows, Linux y OSX.
Historia Selenium fue originalmente desarrollado por Jason Huggins en 2004 y pronto se unieron al esfuerzo otras personas especialistas en pruebas y programacin. Es un software decdigo abierto bajo la licencia apache 2.0 que puede ser descargada y usada sin cargo. El nombre proviene de una broma hecha por Huggins burlndose de un competidor llamado Mercury (mercurio) diciendo que el envenenamiento por mercurio puede ser curado tomando complementos de Selenio. Los participantes tomaron el nombre y siguieron con l. Existen otros proyectos que se desarrollan alrededor de Selenium como Selenium Grid, para probar concurrencia de mltiples pruebas concurrentes de clientes remotos o locales, as como Flash Selenium para probar programas escritos en Adobe Flex o Selenium Silverlight Selenium IDE Selenium IDE es un entorno de desarrollo integrado para pruebas con Selenium. Est implementado como una extensin de Firefox y permite grabar, editar y depurar pruebas. Originalmente se le conoci como Selenium Recorder. Se pueden desarrollar automticamente scripts que se pueden editar manualmente con autocompletado de las sentencias, moviendo rpidamente 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 pgina producto de las acciones. Caractersticas: Grabacin y reproduccin fcil Seleccin inteligente de campos usando ID, nombre o XPath segn se necesite. Autocompletado de los comandos de Selenium ms comunes. Pruebas de revisin cruzada Depuracin y puntos de verificacacin (breakpoint) Almacenar las pruebas como Selanese, Ruby, Java y otros formatos. Soporte al archivo user-extensions.js Opcin para asertar el ttulo de la pgina.
Selenium Client API Interfaz de programacin de aplicaciones (API) de clientes Como alternativa a escribir pruebas en Selanese, las pruebas pueden escribirse en varios lenguajes de programacin, stos se comunican con Selenium mediante llamadas a los mtodos 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. Selenium Remote Control Es un servidor escrito en Java que acepta comandos al navegador va HTTP. RC hace posible escribir pruebas automatizadas para aplicaciones web, en cualquier lenguaje de programacin lo que permite una mejor integracin de Selenium a entornos de prueba existentes. Para hacer la escritura de pruebas ms fcil, Selenium actualmente provee controladores de dispositivos para PHP, Python, Ruby,.NET, Perl y Java. El controlador de Java puede usarse para Javascript va el motorRhino. Selenium Remote Control fue una refactorizacin de Driven Selenium o Selenium B, la versin original lanzaba directamente un proceso para el navegador en cuestin desde el lenguaje de prueba; el protocolo de cable (confusamente llamado Selanese tambin en aquel tiempo) fue reimplementado al portarse a cada lenguaje. Despus de la refactorizacin, 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 cdigo a un nmero creciente de lenguajes. Con la liberacin de Selenium 2, Selenium RC fue oficialmente descartado en favor de Selenium WebDriver.
Selenium WebDriver Selenium WebDriver es el sucesor de Selenium RC. Selenium WebDriver acepta comandos (enviados en Selenese o va el API de cliente) y los enva a un navegador. Esto se implementa a travs de un controlador del navegador especfico para cada navegador que enva los comandos y trae los resultados de regreso. La mayora de los controladores de navegador lanzan y acceden a la aplicacin de navegador (como Mozilla Firefox o Internet Explorer), pero tambin 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 ms abajo). Desde inicios de 2012, Simon Stewart de Google (inventor del WebDriver) y David Burns de la Fundacin Mozilla se encuentran negociando con el W3C que WebDriver se convierta en un estndar de Internet, como tal Selenium-Webdriver (Selenium 2.0) apunta a ser la implementacin de referencia del estndar WebDriver en varios lenguajes de programacin. A la fecha (marzo de 2013) Selenium-WebDriver est completamente implementado y soportado en Java, Ruby, Python y C#. En la prctica, 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 construccin bsicos con los cuales los desarrolladores puedan programar su propio lenguaje especfico de dominio. Uno de ellos ya existe y es el proyecto Watir en Ruby que tiene una historia rica en buen diseo. Watir- WebDriver implementa el API de Watir como un envolvente del Selenium-Webdriver en Ruby. Watir-WebDriver se crea de forma completamente automtica, basado en las especificaciones del WebDriver y HTML.
Selenium Grid Selenium Grid es un servidor que permite usar instancias de navegador ejecutndose en mquinas remotas. Con Selenium Grid, uno de los servidores acta 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 mltiples mquinas y manejar diferentes versiones y configuraciones de manera centralizada.
2. INSTALACIN E INTERFAZ
2.1INSTALACIN
Accedemos a la web: http://seleniumhq.org/download/ y descargamos la versin ms reciente de Selenium IDE: "Download version 2.5.0 " desde mozilla firefox(Se trata de un plugin para dicho explorador).
2.2LA APLICACIN Y SUS CARACTERSTICAS
Selenium-IDE es un plug-in de firefox empleado para generar automatizaciones de casos de pruebas.
Podemos abrir la aplicacin desde mozilla firefox en "Herramientas" => "Selenium IDE"
2.2.1.1 Barra principal
Archivo:Nos permite abrir, exportar y guardar casos de prueba.
Editar:Recoge todas las opciones de edicin, aparte de insercin de acciones a realizar y comentarios.
Actions:Recopilacin de todas las herramientas propias de la aplicacin.
Options:Nos permite ver/modificar la configuracin de la aplicacin y los formatos/Lenguaje empleado en el cdigo de la misma. Ayuda:Referencia a UI_Elements.
2.2.1.2 URL de inicio
Nos permite especificar el link predeterminado de inicio de nuestras pruebas.
Por ejemplo: Poniendo de URL base "http://seleniumhq.org", si accedemos al apartado download "http://seleniumhq.org/download/", lo nico que aparecer en la lnea de comando ser "download" debido a que entiende que el resto del link es el URL principal.
2.2.1.3 Barra de herramientas
Control de velocidad: Permite modificar la velocidad con la que se reproducen los casos de pruebas(Necesario para verificar que las acciones realizadas son las correctas).
Botones de ejecucin: Permiten la ejecucin y parada del listado de test case.
Step: Ejecuta una sola lnea de comando. Grabacin: Comienza la grabacin de los diversos pasos que vayamos realizando en mozilla firefox, creando una lnea de comandos por cada paso ejecutado.
2.2.1.4 Casos de prueba
Cada vez que grabemos alguna accin de una pgina web se generan lneas de comando que constan de 3 atributos. Command: Son las acciones realizadas en cada paso(Al pinchar en dicha columna se nos despliega un listado con todos los comandos reconocidos.
Target: Link o direccin desde la cual se realiza la accin.
Value:Parmetro empleado en el comando.
2.2.1.5 Cdigo fuente
Muestra el cdigo generado por los casos grabados, en formato HTML.
2.2.1.6 Log
Muestra el estado de cada una de las acciones realizadas
3. GRABACIN Y EJECUCIN DE TEST CASE
3.1CREACIN DE CASOS DE PRUEBA
Cada vez que abramos Selenium IDE, por defecto, se activar el modo de grabacin. Si no est activo, pulsar el botn de grabacin ser Suficiente para activarlo/desactivarlo.
Las acciones ms comunes generadas cuando se graba un caso de prueba son las siguientes:
Open: accede a un link especificado, siendo "/" el "base URL" Click/ClickAndWait: activa/desactiva un botn o checkbox. Type/TypeAndWait:escribe un valor "x" en el objeto seleccionado.
3.1.1.1 Adicin de acciones de contrl y variables.
Pulsando el botn derecho en cualquier parte de la ventana abierta por firefox podemos realizar diversas acciones de control o creacin de variables.
Podemos organizar los comandos mostrados en 4: asssert, verify, waitfor y store.
Assert y Verify realizan la misma funcin, es decir, comprobar que se de una condicin concreta. La principal diferencia radica en que con Assert en caso de que falle corta la ejecucin, mientras que con Verify, que aunque de error, continua la ejecucin hasta llegar al final.
WaitFor para la ejecucin hasta que se da una condicin concreta. Store Permite almacenar los datos recopilados en variables que pueden ser utilizados ms adelante con ${nomVar}.
3.2EJECUCIN CASOS DE PRUEBA
Una vez guardado un test case podemos ejecutarlo de forma automtica.
Podemos ejecutar todos los casos de prueba(A) o solo el caso de prueba seleccionado(B)
Cada vez que finalizamos una ejecucin, nos muestra el resultado de pasos correctos y fallados. En este caso tenemos un error por haber escrito de forma incorrecta "Selenium".
Al volver a realizar la ejecucin con el nombre correctamente en el paso de verificacin, queda resuelta la incidencia.
ANEXOS
4.1LISTADO DE ENLACES DE REFERENCIA.
Manual de incio de Selenium IDE(Ingles): http://seleniumhq.org/docs/02_selenium_i de.html