- Introducción al selenio
- Breve introducción a las versiones de Selenium
- Medio ambiente y tecnología
- Conclusión
Una lista completa de los mejores tutoriales de Selenium para aprender y dominar Selenium desde cero:
Tras varias peticiones frecuentes de los lectores de STH, hoy por fin estamos Lanzamiento de nuestra serie de tutoriales GRATUITOS sobre Selenium En esta serie de formación de Selenium, cubriremos todos los conceptos de pruebas de Selenium y sus paquetes en detalle con ejemplos prácticos fáciles de entender.
Estos tutoriales de Selenium son útiles tanto para principiantes como para usuarios de Selenium de nivel avanzado. Empezando por el tutorial de conceptos básicos de Selenium, avanzaremos gradualmente hacia temas avanzados como la creación de Framework, Selenium Grid y Cucumber BDD.
Lista completa de los tutoriales de Selenium de esta serie:
Fundamentos del selenio:
- Tutorial nº 1 Introducción a las pruebas con Selenium (lectura obligada)
- Tutorial nº 2 Características de Selenium IDE, descarga e instalación de Selenium
- Tutorial nº 3 Mi primer script Selenium IDE (lectura obligada)
- Tutorial nº 4 : Creación de un script utilizando Firebug y su instalación
- Tutorial nº 5 Tipos de localizadores: ID, ClassName, Name, Link Text, Xpath
- Tutorial nº 6 : Tipos de localizador: Selector CSS
- Tutorial nº 7 Localización de elementos en Google Chrome e IE
Selenium WebDriver:
- Tutorial nº 8 Introducción a Selenium WebDriver (lectura obligada)
- Tutorial nº 9 : Instalación de Selenium WebDriver con eclipse
- Tutorial nº 10 Mi primer script Selenium WebDriver (lectura obligada)
- Tutorial nº 11 Introducción a JUnit
- Tutorial nº 12: Introducción a TestNG (lectura obligada)
- Tutorial nº 13 Manejo de desplegables
- Tutorial nº 14 Comandos de bucle y condicionales
- Tutorial nº 15 Espera explícita e implícita
- Tutorial nº 16 : Gestión de alertas y ventanas emergentes
- Tutorial nº 17 Comandos más utilizados
- Tutorial nº 18 Manejo de tablas web, marcos y elementos dinámicos
- Tutorial nº 19 Gestión de excepciones
Marco de trabajo Selenium:
- Tutorial nº 20 Frameworks de automatización de pruebas más populares (lectura obligada)
- Tutorial nº 21 : Creación de Selenium Framework & Acceso a datos de prueba desde Excel (lectura obligada)
- Tutorial nº 22 Creación de genéricos y Testsuite
- Tutorial nº 23 Uso de Apache ANT
- Tutorial nº 24 Configuración del proyecto Selenium Maven
- Tutorial nº 25 Uso de la herramienta de integración continua Hudson
Selenio avanzado:
- Tutorial nº 26 : Registro en Selenium
- Tutorial nº 27 Trucos y consejos de Selenium Scripting
- Tutorial nº 28 Pruebas de bases de datos con Selenium WebDriver
- Tutorial nº 29 : Introducción a Selenium Grid (lectura obligada)
- Tutorial nº 30 Pruebas de Automatización usando Cucumber y Selenium Parte -1
- Tutorial nº 31 Integración de Selenium WebDriver con Cucumber Parte -2
- Tutorial nº 32: Aserciones En Selenium Usando Junit Y TestNG Frameworks
- Tutorial nº 33: Ejemplos de aserción Selenium - Aplicaciones prácticas en proyectos
- Tutorial nº 34: Page Object Model En Selenium Sin Usar Page Factory
- Tutorial nº 35: Page Object Model En Selenium Usando Page Factory
- Tutorial nº 36: Marco de trabajo basado en palabras clave en Selenium con ejemplos
- Tutorial nº 37: ¿Qué es el marco híbrido en Selenium?
- Tutorial nº 38: Cómo manejar ventanas emergentes en Selenium usando AutoIT
- Tutorial nº 39: Técnicas de depuración en Selenium
- Tutorial nº 40: Manejo de IFrames con el método SwitchTo() de Selenium WebDriver
- Tutorial nº 41: Funciones XPath para Xpath dinámico en Selenium
- Tutorial nº 42: Ejes Xpath para Xpath dinámico en Selenium
- Tutorial nº 43: WebDriver Listeners en Selenium
- Tutorial nº 44: Cómo Seleccionar La Casilla De Verificación En Selenium Con Ejemplos
- Tutorial nº 45: Cómo manejar la barra de desplazamiento en Selenium Webdriver
- Tutorial nº 46: Cómo hacer una captura de pantalla en Selenium
- Tutorial nº 47: ¿Cómo seleccionar botones de radio en Selenium WebDriver?
- Tutorial nº 48: Acciones Selenium: Manejar doble & Click derecho en Selenium
- Tutorial nº 49: Cómo subir un archivo usando Selenium Webdriver - 3 métodos
Consejos de Selenium y preparación de entrevistas:
- Tutorial nº 50 : Estimación del esfuerzo de prueba de un proyecto Selenium
- Tutorial nº 51 Preguntas y respuestas de la entrevista Selenium
¿Cómo empezar a aprender Selenium?
Este es el mejor momento para empezar a aprender Selenium testing por tu cuenta con la ayuda de esta serie de formación gratuita sobre Selenium. Lee los tutoriales, practica los ejemplos en tu casa y pon tus dudas en la sección de comentarios de los respectivos tutoriales, ya que responderemos a todas ellas.
Este es nuestro verdadero esfuerzo para ayudarle a aprender y dominar una de las herramientas de pruebas de software más populares.
Introducción al selenio
Estamos encantados de lanzar otra serie de tutoriales de formación de pruebas de software. La creencia detrás de la introducción de este tutorial es hacer que un experto en uno de los ampliamente utilizados solución de automatización de pruebas de software, Selenium.
En esta serie, veremos las diversas facetas de Selenium. Selenium no es sólo una herramienta, es un conjunto de herramientas independientes. Veremos algunas de las herramientas de Selenium en detalle con ejemplos prácticos siempre que sea aplicable.
Antes de lanzarse a la lectura de esta apasionante y útil serie, echemos un vistazo a lo que tiene reservado para usted.
¿Por qué el selenio?
Las tendencias actuales de la industria han demostrado que existe un movimiento masivo hacia la automatización de las pruebas. De ahí que un cúmulo de escenarios repetitivos de pruebas manuales haya planteado la demanda de introducir la práctica de automatizar estos escenarios manuales.
Hay varios beneficios de implementar la Prueba de Automatización; echemos un vistazo a ellos:
- Admite la ejecución de casos de prueba repetidos
- Ayuda a probar una gran matriz de pruebas
- Permite la ejecución en paralelo
- Fomenta la ejecución desatendida
- Mejora la precisión, reduciendo así los errores generados por el hombre.
- Ahorra tiempo y dinero
Todas estas ventajas se traducen en lo siguiente:
- Alto ROI
- Mercado GoTo más rápido
Existen varias ventajas de las pruebas de automatización que se conocen bien y de las que se habla mucho en el sector de las pruebas de software.
Una de las preguntas más frecuentes que se plantean al respecto son las siguientes
- ¿Cuál es la mejor herramienta para automatizar mis pruebas?
- ¿Tiene algún coste?
- ¿Es fácil adaptarse?
Una de las mejores respuestas a todas las preguntas anteriores para automatizar aplicaciones basadas en web es Selenium. Porque:
- Es un código abierto
- Cuenta con una amplia base de usuarios y comunidades de ayuda
- Compatible con varios navegadores y plataformas
- Cuenta con desarrollos activos de repositorios
- Admite múltiples implementaciones lingüísticas
Primer vistazo a Selenium
Selenium es una de las suites de Pruebas Automatizadas más populares. Selenium está diseñada de tal manera que soporta y fomenta las Pruebas Automatizadas de aspectos funcionales de aplicaciones basadas en web y una amplia gama de navegadores y plataformas. Debido a su existencia en la comunidad de código abierto, se ha convertido en una de las herramientas más aceptadas entre los profesionales de las pruebas.
Selenium es compatible con una amplia gama de navegadores, tecnologías y plataformas.
Componentes del selenio
Selenium no es sólo una herramienta o una utilidad, sino más bien un paquete de varias herramientas de prueba, por lo que se conoce como una Suite. Cada una de estas herramientas está diseñada para atender a diferentes pruebas y requisitos del entorno de prueba.
El paquete consta del siguiente conjunto de herramientas:
- Entorno de desarrollo integrado (IDE) Selenium
- Mando a distancia Selenio (RC)
- Selenium WebDriver
- Rejilla Selenio
Selenium RC y WebDriver, combinados son conocidos popularmente como Selenio 2 . Selenio RC también se denomina Selenio 1 .
Breve introducción a las versiones de Selenium
Núcleo de selenio
Selenium es el resultado de los continuos esfuerzos de un ingeniero llamado Jason Huggins de ThoughtWorks Al ser responsable de las pruebas de una aplicación interna de tiempo y gastos, se dio cuenta de la necesidad de una herramienta de pruebas de automatización para deshacerse de las tareas manuales repetitivas sin comprometer la calidad y la precisión.
Como resultado, creó un programa JavaScript, denominado " JavaScriptTestRunner " a principios de 2004 que podía controlar automáticamente las acciones del navegador que parecían muy similares a las de un usuario que se comunica con el navegador.
A partir de entonces, Jason empezó a hacer demostraciones de la herramienta a un amplio público. Con el tiempo, se plantearon los debates para clasificar esta herramienta en una categoría de código abierto y su potencial para crecer como marco de pruebas reutilizable para otras aplicaciones basadas en web.
La herramienta fue aclamada posteriormente con el nombre de " Núcleo de selenio ".
Selenium IDE (Entorno de desarrollo integrado Selenium)
Selenium IDE fue desarrollado por Shinya Kasatani. Mientras estudiaba Selenium Core, se dio cuenta de que este código JavaScript podía ampliarse para crear un entorno de desarrollo integrado (IDE), que podía conectarse a Mozilla Firefox. Este IDE era capaz de grabar y reproducir las acciones del usuario en una instancia de Firefox a la que estuviera conectado. Más tarde, Selenium IDE pasó a formar parte de Selenium Package en el paqueteaño 2006. Posteriormente, esta herramienta resultó de gran valor y potencial para la comunidad.
Selenium IDE es la más simple y fácil de todas las herramientas dentro del paquete Selenium. Sus características de grabación y reproducción hacen que sea excepcionalmente fácil de aprender con un mínimo conocimiento de cualquier lenguaje de programación. Con varias ventajas, unas pocas desventajas acompañan a Selenium IDE, por lo que es inapropiado para ser utilizado en caso de scripts de prueba más avanzados.
Ventajas y desventajas de Selenium IDE:
Las desventajas de IDE no son realmente desventajas de Selenium, en realidad. Más bien son sólo limitaciones a lo que IDE podría lograr. Estas limitaciones se pueden superar mediante el uso de Selenium RC o WebDriver .
Selenium RC (Selenium Remote Control)
Selenio RC es una herramienta escrita en Java que permite a un usuario construir scripts de prueba para una aplicación basada en web en cualquier lenguaje de programación que elija. Selenium RC surgió como resultado para superar las diversas desventajas en las que incurría Selenium IDE o Core .
Las lagunas y restricciones que se imponían al utilizar Selenium Core dificultaban al usuario aprovechar las ventajas de la herramienta en su totalidad, lo que convertía el proceso de prueba en una tarea engorrosa y de largo alcance.
Una de las restricciones cruciales era la Misma política de origen.
Problema con la política del mismo origen:
El problema con la Política del Mismo Origen es que no permite acceder al DOM de un documento desde un origen que es diferente del origen desde el que estamos intentando acceder al documento.
El origen es una combinación secuencial de esquema, host y puerto de la URL. Por ejemplo , para la URL //www.seleniumhq.org/projects/, el origen es una combinación de HTTP, seleniumhq.org, 80 correspondientemente.
De este modo, Selenium Core (Programa JavaScript) no puede acceder a los elementos desde un origen distinto de donde se lanzó.
Por ejemplo, si he ejecutado el programa JavaScript desde "//www.seleniumhq.org/", podré acceder a las páginas del mismo dominio, como "//www.seleniumhq.org/projects/" o "//www.seleniumhq.org/download/". Los demás dominios, como google.com o yahoo.com, ya no serán accesibles.
Por lo tanto, para probar cualquier aplicación utilizando Selenium Core, uno tiene que instalar toda la aplicación en el Selenium Core, así como un servidor web para superar el problema de la política del mismo origen.
Por lo tanto, con el fin de gobernar la política del mismo origen sin la necesidad de hacer una copia separada de la aplicación bajo prueba en el núcleo de Selenium, Mando a distancia Selenio Mientras Jason Huggins realizaba una demostración de Selenium, otro colega de ThoughtWorks llamado Paul Hammant sugirió una solución para la política del mismo origen y una herramienta que pudiera conectarse con un lenguaje de programación de nuestra elección. Así nació Selenium RC.
A diferencia de Selenium IDE, Selenium RC soporta una amplia gama de navegadores y plataformas.
Descripción del flujo de trabajo
- El usuario crea un script de prueba en el lenguaje de programación deseado.
- Para cada lenguaje de programación, existe una biblioteca cliente designada.
- La biblioteca cliente transporta los comandos de prueba al servidor selenium.
- El servidor Selenium descifra y convierte los comandos de prueba en comandos JavaScript y los envía al navegador.
- El navegador ejecuta los comandos utilizando Selenium Core y envía los resultados al servidor Selenium.
- El servidor Selenium entrega los resultados de la prueba a la biblioteca del cliente.
Hay algunos requisitos previos que deben cumplirse antes de crear scripts Selenium RC:
- Un lenguaje de programación: Java, C#, Python, etc.
- Un entorno de desarrollo integrado: Eclipse, Netbeans, etc.
- Un marco de pruebas (opcional): JUnit, TestNG, etc.
- Y la configuración de Selenium RC por supuesto
Ventajas y desventajas del selenio RC:
Consulte la siguiente figura para obtener más información sobre las ventajas y desventajas de Selenium RC.
Rejilla Selenio
Con selenium RC, la vida de un tester siempre ha sido positiva y favorable hasta que las tendencias emergentes plantearon la demanda de ejecutar el mismo o diferentes scripts de prueba en múltiples plataformas y navegadores de forma concurrente para conseguir una ejecución de pruebas distribuida, probando bajo diferentes entornos y ahorrando tiempo de ejecución notablemente. Así, atendiendo estos requerimientos Rejilla Selenio entró en escena.
Selenium Grid fue introducido por Pat Lightbody con el fin de abordar la necesidad de ejecutar las suites de prueba en múltiples plataformas simultáneamente.
Selenium WebDriver
Selenium WebDriver fue creado por otro ingeniero de ThoughtWorks llamado Simon Stewart en el año 2006. WebDriver es también una herramienta de pruebas basada en web con una sutil diferencia con Selenium RC. Dado que la herramienta se construyó sobre la base fundamental de que se creara un cliente aislado para cada uno de los navegadores web; no se requería un trabajo pesado de JavaScript. Esto llevó a un análisis de compatibilidad entre Selenio RC y WebDriver A raíz de ello, se desarrolló una herramienta de pruebas automatizadas más potente denominada Selenio 2 .
WebDriver es limpio y puramente un marco orientado a objetos. Utiliza la compatibilidad nativa del navegador para la automatización sin utilizar ninguna entidad periférica. Con la creciente demanda, ha ganado una gran popularidad y base de usuarios.
Ventajas y desventajas de Selenium WebDriver:
Consulte la siguiente figura para obtener más información sobre las ventajas y desventajas de WebDriver.
Selenio 3
Selenio 3 es una versión avanzada de Selenio 2 Se trata de una herramienta centrada en la automatización de aplicaciones móviles y web. Al afirmar que admite pruebas móviles, queremos decir que la API WebDriver se ha ampliado para responder a las necesidades de las pruebas de aplicaciones móviles. Se espera que la herramienta se lance pronto al mercado.
Medio ambiente y tecnología
Con la llegada y adición de cada nueva herramienta de la suite Selenium, los entornos y tecnologías se hacen más compatibles. A continuación se muestra una lista exhaustiva de entornos y tecnologías compatibles con las herramientas Selenium.
Navegadores compatibles
Lenguajes de programación compatibles
Sistemas operativos compatibles
Marcos de pruebas compatibles
Conclusión
En este tutorial, tratamos de familiarizarle con la suite Selenium describiendo sus diversos componentes, usos y sus ventajas sobre los demás.
He aquí los puntos esenciales de este artículo.
- Selenium es un conjunto de varias herramientas de pruebas automatizadas, cada una de las cuales responde a diferentes necesidades.
- Todas estas herramientas pertenecen a la misma categoría de código abierto y sólo admiten pruebas basadas en la web.
- Selenium suite consta de 4 componentes básicos; Selenium IDE, Selenium RC, WebDriver y Selenium Grid .
- Se espera que el usuario elija sabiamente la herramienta Selenium adecuada para sus necesidades.
- Selenium IDE se distribuye como un complemento de Firefox y es más fácil de instalar y utilizar. No es necesario que el usuario posea conocimientos previos de programación. Selenium IDE es una herramienta ideal para un usuario ingenuo.
- Selenium RC es un servidor que permite al usuario crear scripts de prueba en el lenguaje de programación que desee. También permite ejecutar scripts de prueba dentro del amplio espectro de navegadores.
- Selenium Grid aporta una característica adicional a Selenium RC al distribuir su script de prueba en diferentes plataformas y navegadores al mismo tiempo para su ejecución, implementando así la arquitectura maestro-esclavo.
- WebDriver es una herramienta totalmente diferente que tiene varias ventajas sobre Selenium RC. La fusión de Selenium RC y WebDriver también se conoce como Selenium 2. WebDriver se comunica directamente con el navegador web y utiliza su compatibilidad nativa para automatizar.
- Selenium 3 es la inclusión más esperada de la suite Selenium que aún no se ha lanzado al mercado. Selenium 3 fomenta enormemente las pruebas móviles.
En el siguiente tutorial, vamos a discutir los conceptos básicos de Selenium IDE, su instalación, y las características. También vamos a echar un vistazo a las terminologías básicas y nomenclaturas de Selenium IDE.
Next Selenium Tutorial : Introducción a Selenium IDE y su instalación con un estudio detallado de todas las características de Selenium IDE (próximamente)
Una observación para los lectores Nuestro próximo tutorial de la serie de formación Selenium está en proceso, mientras tanto puede explorar un poco sobre la suite Selenium y sus herramientas consultando su página web oficial.
Sobre los autores:
Shruti Shrivastava (nuestra autora principal de esta serie), Amaresh Dhal y Pallavi Sharma nos están ayudando a llevar esta serie a nuestros lectores.
Permanece atento y comparte tus opiniones, comentarios y conocimientos. Además, avísanos si crees que nos hemos dejado algo para que podamos incluirlo en nuestros próximos tutoriales.