Avenida de Castilla,1 - Edificio Best Point - Oficina 21B28830 San Fernando de Henares (Madrid)
tel./fax: +34 91 675 33 [email protected] - www.autentia.com
Somos su empresa de Soporte a Desarrollo Informático.Ese apoyo que siempre quiso tener...
1. Desarrollo de componentes y proyectos a medida
TecnologíaDesarrolloSistemas
Gran Empresa
Producción
autentia
Certificacióno Pruebas
Verificación previa
RFP Concurso
Consultora 1
Consultora 2
Consultora 3
Equipo propio desarrolloPiloto
3a
3b
1. Definición de frameworks corporativos.2. Transferencia de conocimiento de nuevas arquitecturas.3. Soporte al arranque de proyectos.4. Auditoría preventiva periódica de calidad.5. Revisión previa a la certificación de proyectos.6. Extensión de capacidad de equipos de calidad.7. Identificación de problemas en producción.
3. Arranque de proyectos basados en nuevas tecnologías
¿Qué ofrece Autentia Real Business Solutions S.L?
Para más información visítenos en: www.autentia.com
Compartimos nuestro conociemiento en: www.adictosaltrabajo.com
Gestor portales (Liferay)Gestor de contenidos (Alfresco)Aplicaciones híbridas
Tareas programadas (Quartz)Gestor documental (Alfresco)Inversión de control (Spring)
BPM (jBPM o Bonita)Generación de informes (JasperReport)ESB (Open ESB)
Control de autenticación y acceso (Spring Security)UDDIWeb ServicesRest ServicesSocial SSOSSO (Cas)
Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery
JPA-Hibernate, MyBatisMotor de búsqueda empresarial (Solr)ETL (Talend)
Dirección de Proyectos Informáticos.Metodologías ágilesPatrones de diseñoTDD
2. Auditoría de código y recomendaciones de mejora
4. Cursos de formación (impartidos por desarrolladores en activo)
Inicio Quienes somos Tutoriales Formación Comparador de salarios Comic Charlas Más
Catálogo de servicios
Autentia (PDF 6,2MB)
En formato comic...
Web
www.adictosaltrabajo.com
Buscar
Últimos tutoriales
2009-08-20 Selenium IDE-Incorporando while en los test
2009-08-14 Blender y JMonkeyEngine. Exportación de archivos Blender y uso de los mismos en JMonkeyEngine
2009-08-14 5º tutorial TNT Concept Versión 0.16.1 Gestión de informes, vacaciones y utilidades
2009-08-14 Joomla 1.5. Instalación y configuración
2009-08-13 Introducción a los diagramas EPC (Event-Driven Process Chain)
2009-08-10 Blender. Animaciones avanzadas y renderización
2009-08-10 Gestión de Calidad, tablón y seguimiento en TNT Concept Versión 0.16.1
2009-08-10 Cómo hacer una página web
2009-08-06 Tips And Tricks JUnit Spring
2009-08-03 Instalación de VirtualBox PUEL
2009-08-03 Gestión de contactos y pedidos en TNT Concept versión 0.16.1
Tutorial desarrollado por
Saúl García Díaz
Consultor tecnológico de desarrollo de proyectos informáticos.
Puedes encontrarme en Autentia
Somos expertos en Java/JEE
Catálogo de servicios de Autentia
Descargar (6,2 MB)
Descargar en versión comic (17 MB)
AdictosAlTrabajo.com es el Web de difusión de conocimiento de Autentia.
Catálogo de cursos
Ultimas Noticias » Lanzamiento del nuevo Web de Autentia » Historia de la Informática. Capítulo 72. 1995 (1ª Parte) » Historia de la Informática. Capítulo 71. 1994 » Historia de la Informática. Capítulo 70. 1993 » Si se pregunta ¿Qué ofrece este Web? » Autentia en la Sun Open Communities Forum » Autentia cumple 6 años » Comentario del libro: El economista naturalista de Robert Frank » Contratos ágiles: Vendiendo Scrum a tus clientes.
+Noticias Destacadas » Lanzamiento del nuevo Web de Autentia » Contratos ágiles: Vendiendo Scrum a tus clientes. » Quinta charla Autentia + Proyectalis + Agile Spain: Contratos ágiles: Vendiendo Scrum a tus clientes » Lo mejor de esta semana: Curso de Scrum con Ángel Medinilla
+Comentarios Cómic
+Enlaces
Descargar este documento en formato PDF: seleniumWhile.pdf
Fecha de creación del tutorial: 2009-08-20
Selenium IDE-Incorporando while en los test
0. Índice de contenidos.
1. Introducción.•2. Entorno•3. Extensión goto sel ide.js•4. Usando los nuevos comandos•5. Conclusiones•
1. Introducción
Como hemos visto en otros tutoriales publicados en Adictos Selenium IDE es un plugin de Firefox perteneciente al juego de herramientas SeleniumHQ y que permite realizar juegos de pruebas sobre aplicaciones web. Este IDE trae por defecto un conjunto muy amplio de comandos para poder realizar nuestros test de manera satisfactoria. Sin embargo puede que en ocasiones necesitemos realizar algunas operaciones que queden fuera del alcance de los comandos propios de Selenium IDE. En estos casos el propio IDE nos permite ampliar estos comandos con nuevas funciones definidas por el usuario y escritas en Javascript. En el caso que nos ocupa utilizaremos un script que nos permitirá realizar bucles dentro de nuestros test pero podríamos definir scripts que se adaptaran a cada una de nuestras necesidades.
2. Entorno
El tutorial está escrito usando el siguiente entorno:
Hardware: Portátil Dell Latitude E5500(Core Duo T9550 2.66GHz, 4GB RAM, 340 GB HD).•Sistema operativo: Windows XP.•Firefox 3.0.13•Selenium IDE 1.0.2•
3. Extensión goto_sel_ide.js
Esta extensión , no es una extensión propia,sino recopilada desde http://51elliot.blogspot.com/2008/02/selenium-ide-goto.html y con ella ,no solo podremos incluir bucles en nuestros test,sino que ademas podremos realizar sentencias condicionales como veremos mas adelante. A continuación vemos las funciones incluidas en esta extensión:
view plain copy to clipboard print ?
var gotoLabels = {}; 01.var whileLabels = {}; 02. 03.// overload the original Selenium reset function 04.Selenium.prototype.reset = function () { 05. // reset the labels 06. this.initialiseLabels(); 07. // proceed with original reset code 08. this.defaultTimeout = Selenium .DEFAULT_TIMEOUT; 09. this.browserbot.selectWindow("null"); 10.
Hosting patrocinado por
Estas en: Inicio Tutoriales Selenium IDE-Incorporando while en los test
Página 1 de 8Selenium IDE-Incorporando while en los test
20/08/2009http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=seleniumWhile
2009-08-03 Comentando el libro: La estrategia del océano azul
2009-07-30 Funciones esenciales para crear un juego.
2009-07-30 2º tutorial TNT Concept versión 1.16.1
2009-07-29 Hibernate Search, Bridges, Analizadores y más
2009-07-24 Migración de EJB3 a JPA y Spring.
2009-07-20 Directorio de ejemplos de jMonkey Engine
2009-07-19 JSR-179 Location API para J2ME: Posicionamiento geográfico en nuestras aplicaciones.
2009-07-16 Gestión de Usuarios en TNT Concept versión 0.16.1
2009-07-16 Continuación del Tutorial: JMonkeyEngine, Creación de nuestro primer juego.
2009-07-16 Como implementar el Scene Monitor para analizar las escenas en jMonkeyEngine
2009-02-26 Transformaciones de escena en JMonkeyEngine
2009-07-15 Detalles del juego de la moto en jMonekyEngine.
2009-07-14 JMonkeyEngine, Creación de nuestro primer juego.
2009-07-13 Ajax tests con Selenium: prototype.js e ICEfaces.
2009-07-08 AOP con AspectJ y Maven
2009-07-07 Instalación y configuración de Eclipse Galileo
2009-07-07 Iniciarse en el manejo de JME, Creación de un Cloth.
2009-07-06 Primeros pasos con Blender: Pintando nuestra mascota en 3D
2009-07-06 DBUnit-Exportar e Importar BBDD
2009-07-05 JMeter, Pruebas de stress
this.browserbot.resetPopups(); 11.} 12. 13.Selenium.prototype.initialiseLabels = function () 14.{ 15. gotoLabels = {}; 16. whileLabels = { ends: {}, whiles: {} }; 17. var command_rows = []; 18. var numCommands = testCase .commands.length; 19. for (var i = 0; i < numCommands; ++i) { 20. var x = testCase .commands[i]; 21. command_rows.push(x); 22. } 23. var cycles = []; 24. for( var i = 0; i < command_rows.length; i++ ) { 25. if (command_rows[i] .type == 'command') 26. switch( command_rows[i].command.toLowerCase () ) { 27. case "label": 28. gotoLabels[ command_rows[i].target ] = i; 29. break; 30. case "while": 31. case "endwhile": 32. cycles.push( [command_rows[i].comma nd.toLowerCase(), i] ) 33. break; 34. } 35. } 36. var i = 0; 37. while( cycles.length ) { 38. if( i >= cycles.length ) { 39. throw new Error( "non-matching while/en dWhile found" ); 40. } 41. switch( cycles[i][0] ) { 42. case "while": 43. if( ( i+1 < cycles.length ) && ( "endwhile" == cycles[i+1][0] ) ) { 44. // pair found 45. whileLabels.ends[ cycles[i+1][1 ] ] = cycles[i][1]; 46. whileLabels.whiles[ cycles[i][1 ] ] = cycles[i+1][1]; 47. cycles.splice( i, 2 ); 48. i = 0; 49. } else ++i; 50. break; 51. case "endwhile": 52. ++i; 53. break; 54. } 55. } 56.} 57. 58.Selenium.prototype.continueFromRow = function ( row_num ) 59.{ 60. if( row_num == undefined || row_num == null || row_num < 0) { 61. throw new Error( "Invalid row_num specified ." ); 62. } 63. testCase.debugContext.debugIndex = row_num; 64.} 65. 66.// do nothing. simple label 67.Selenium.prototype.doLabel = function (){}; 68. 69.Selenium.prototype.doGotolabel = function ( label ) 70.{ 71. if( undefined == gotoLabels[label] ) { 72. throw new Error( "Specified label '" + labe l + "' is not found." ); 73. } 74. this.continueFromRow( gotoLabels[ label ] ); 75.}; 76. 77.Selenium Selenium.prototype.doGoto = Selenium.prototype.doGotolabel; 78. 79.Selenium.prototype.doGotoIf = function ( condition, label ) 80.{ 81. if( eval(condition) ) this.doGotolabel( label ) ; 82.} 83. 84.Selenium.prototype.doWhile = function ( condition ) 85.{ 86. if( !eval(condition) ) { 87. var last_row = testCase .debugContext.debugIndex; 88. var end_while_row = whileLabels .whiles[ last_row ]; 89. if( undefined == end_while_row ) throw new Error( "Corresponding 'endWhile' is not found." );
90.
this.continueFromRow( end_while_row ); 91. } 92.} 93. 94.Selenium.prototype.doEndWhile = function () 95.{ 96. var last_row = testCase .debugContext.debugIndex; 97. var while_row = whileLabels .ends[ last_row ] - 1; 98. if( undefined == while_row ) throw new Error( "Corresponding 'Wh ile' is not found." ); 99. this.continueFromRow( while_row ); 100.} 101.
Para poder hacer uso de esta extensión hemos de indicar a Selenium donde se encuentra desde el menú de opciones:
Página 2 de 8Selenium IDE-Incorporando while en los test
20/08/2009http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=seleniumWhile
sobre aplicaciones web: Grabando y reproduciendo navegaciones
2009-07-02 Axis2: Invocación de Servicios Web usando distintos MEP
2009-07-02 Instalación OpenOffice
2009-07-02 Juegos 3D en Java: Blender y JMonkeyEngine
2009-06-20 StAX (Xml Pull Parser): Streaming API para XML
2009-06-15 Configuración de la desconexión de usuarios con ICEFaces
2009-06-10 LWUIT: Una librería gráfica tipo AWT o Swing para J2ME
2009-06-10 Mapas mentales con XMind
2009-02-26 Redimensionar Imagenes en Windows Vista
2009-06-08 UploadFile con Icefaces + Hibernate + Anotaciones
2009-06-05 Habilitar exportación en Liferay
2009-06-01 Registrar Liferay en Eclipse
2009-05-29 Liferay Social Office
2009-05-28 Broadcast con Ustream
2009-05-25 Tabla datos accesible con ordenación y paginación
2009-05-21 Primeros pasos con Audacity: Un editor de sonido libre y multiplataforma.
2009-05-11 Introducción a TortoiseSVN
2009-05-07 Hacer 'scp' de varios ficheros sin solicitud de clave
2009-05-02 Plugin Hibernate3 para Maven
2009-04-26 AgileDraw: una técnica rápida de modelado
Será necesario cerrar y volver a abrir la ventana de IDE para que Selenium lea el fichero y tener los nuevos comandos disponibles.
4. Usando los nuevos comandos.
En este punto vamos a ver como utilizar los nuevos comandos. En realidad no difiere mucho de cuando utilizamos el resto de comandos pero si que hay que tener en cuenta algunas consideraciones. Comando while:
Página 3 de 8Selenium IDE-Incorporando while en los test
20/08/2009http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=seleniumWhile
Últimas ofertas de empleo
2009-07-31 T. Información - Operador (dia / noche) - BARCELONA.
2009-06-25 Atención a cliente - Call Center - BARCELONA.
2009-06-19 Otras - Ingenieria (minas, puentes y puertos) - VALENCIA.
2009-06-17 Comercial - Ventas - ALICANTE.
2009-06-03 Comercial - Ventas - VIZCAYA.
Como vemos en la imagen lo primero que hacemos es definir dos variables, una que marca el inicio y otra que marca el fin del bucle. En este caso, nuestro bucle dará cinco vueltas, ejecutando en cada una de ellas todos aquellos comandos que haya entre el comando while y endWhile. Como siempre después de realizar las acciones correspondientes aumentamos el contador que nos marca el fin del bucle. Comando gotoLabel: Este comando es muy sencillo de utilizar y nos permite desplazarnos a cualquier punto de nuestro test de una manera directa obviando todas aquellas acciones que este definidas desde el punto de origen hasta el punto de destino.
Anuncios Google Tutorial De Flash
Selenium Test Soil
Selenium Urine
Estructuras
Página 4 de 8Selenium IDE-Incorporando while en los test
20/08/2009http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=seleniumWhile
En realidad este comando no es de mucha utilidad pero es la base de comando gotoIf que veremos a continuación. Comando gotoIf: Este comando en realidad no solo nos permite hacer una sentencia condicional sino que si esta condición se cumple permite ir directamente a otro punto de nuestro test. Por ejemplo: Basándonos en el ejemplo del comando while ,imaginemos que nuestro test necesita hacer una serie de acciones para todas las iteraciones del bucle excepto para la ultima. Podría quedar algo como:
Página 5 de 8Selenium IDE-Incorporando while en los test
20/08/2009http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=seleniumWhile
5. Conclusiones.
Como hemos visto a lo largo del tutorial Selenium IDE nos permite de una manera sencilla incorporar nuevas funciones o comandos mediante la modificación del User-Extension. En esta ocasión he querido compartir esta extensión ya que me parecía muy interesante el uso de loops dentro de los test a pesar de que los otros dos nuevos comandos quizás no se adapten del todo a vuestras necesidades. Aunque a partir de ahora esto no debe suponer ningún problema ya que sabemos como definir nuestras propias extensiones mediante Javascript. Espero que les sirva de utilidad.
Un saludo.
Saúl
mailto:[email protected]
¿Qué te ha parecido el tutorial? Déjanos saber tu opinión y ¡vota!
Muy malo Malo Regular Bueno Muy bueno
Votar
Anímate y coméntanos lo que pienses sobre este tutorial
Puedes opinar o comentar cualquier sugerencia que quieras comunicarnos sobre este tutorial; con tu ayuda, podemos ofrecerte un mejor servicio.
Nombre: E-Mail:
Comentario:
Enviar comentario Texto Legal y condiciones de uso
Página 6 de 8Selenium IDE-Incorporando while en los test
20/08/2009http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=seleniumWhile
Puedes inscribirte en nuestro servicio de notificaciones haciendo clic aquí.■
Puedes firmar en nuestro libro de visitas haciendo clic aquí.■
Puedes asociarte al grupo AdictosAlTrabajo en XING haciendo clic aquí.■
Añadir a favoritos Technorati. ■
Esta obra está licenciada bajo licencia Creative Commons de Reconocimiento-No comercial-Sin obras derivadas 2.5
Recuerda
Autentia te regala la mayoría del conocimiento aquí compartido (Ver todos los tutoriales). Somos expertos en: J2EE, Struts, JSF, C++, OOP, UML, UP, Patrones de diseño ... y muchas otras cosas.
¿Nos vas a tener en cuenta cuando necesites consultoría o formación en tu empresa?, ¿Vas a ser tan generoso con nosotros como lo tratamos de ser con vosotros?
Somos pocos, somos buenos, estamos motivados y nos gusta lo que hacemos ...
Autentia = Soporte a Desarrollo & Formación.
Tutoriales recomendados
Nombre Resumen Fecha Visitas Valoración Votos Pdf
DBUnit-Exportar e Importar BBDD
DBUnit como complemento de los test unitarios con carga a una base de datos
2009-07-06 950
Muy bueno 4
JMeter, Pruebas de stress sobre aplicaciones web: Grabando y reproduciendo navegaciones
En este tutorial Carlos García nos enseñará a grabar y reproducir navegaciones con JMeter, para poder realizar pruebas de carga o stress sobre aplicaciones Web
2009-07-05
1657 Bueno 9
Tests de Selenium con librerías de componentes JSF: Apache Tomahawk.
En este tutorial vamos a hablar de cómo escribir tests funcionales con Selenium IDE sobre interfaces de usuario construidas con librerías de componentes visuales JSF y, en concreto, con Apache Tomahawk y uno de sus componentes.
2009-04-14
2008 Muy bueno
2
Integración Selenium / Maven 2 / Surefire / Cargo / Tomcat 6
Con este tutorial se pretende integrar en nuestro proyecto : Maven, Selenium, Surefire, Cargo y Tomcat 6 con el objetivo de incluir y ejecutar las pruebas de integración dentro del ciclo de vida de Maven.
2009-02-26
1444 Muy bueno
3
Selenium Remote ControlSelenium Remote Control es una herramienta que permite automatizar las pruebas sobre aplicaciones web
2009-02-24
2446Muy bueno
6
Integración de Groovy, JRuby y BeanShell con Spring 2
Como Integrar Groovy, JRuby o BeanShell con Spring 2 para realizar comportamientos dinámicos sin recompilar
2009-02-22
1429 Muy bueno
1
Replicar Web PHP en máquina local
Si acabais de empezar como administradores de un sitio web y andais un poco perdidos, este es vuestro tutorial. Os enseñaremos como trabajar con la web de forma local como lo hariamos de manera real.
2009-02-18
1714 Bueno 7
Selenium Core : El motor de Selenium.
Selenium Core es un aplicación perteneciente al juego de herramientas SeleniumHQ que permite realizar juegos de pruebas sobre aplicaciones web.
2009-02-16 2127
Muy bueno 4
EJB 3.0 y pruebas unitarias con Maven, JUnit 4 y Embedded JBoss sobre Java 6
En este tutorial aprenderemos a configurar Maven para ejecutar test de EJB sobre Embedded JBoss con Java 6
2009-02-09 2560 Bueno 4
StrutsTestCaseEn este tutorial, German nos enseña como realizar pruebas unitarias para actions de struts mediante StrutsTestCase y JUnit
2009-01-29
1669 Regular 2
Nota:
Los tutoriales mostrados en este Web tienen como objetivo la difusión del conocimiento. Los contenidos y comentarios de los tutoriales son responsabilidad de sus respectivos autores. En algún caso se puede hacer referencia a marcas o nombres cuya propiedad y derechos es de sus respectivos dueños. Si algún afectado desea que incorporemos alguna reseña específica, no tiene
Página 7 de 8Selenium IDE-Incorporando while en los test
20/08/2009http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=seleniumWhile
más que solicitarlo. Si alguien encuentra algún problema con la información publicada en este Web, rogamos que informe al
administrador [email protected] para su resolución.
Copyright 2003-2009 © All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto
Anuncios Google Case Affitto Sicilia Estructuras Animacion Flash Build Prototype Ejemplos Flash
Página 8 de 8Selenium IDE-Incorporando while en los test
20/08/2009http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=seleniumWhile
Top Related