selenium grid tutorial
Introducción a Selenium Grid y cómo realizar pruebas entre navegadores utilizando Selenium Grid:
Ahora estamos cerca del final de esto serie completa de tutoriales de selenio . La semana que viene, concluiremos esta serie de Capacitación de Selenium en línea con los tutoriales de “Estimación del esfuerzo de los proyectos de Selenium” y “Preguntas y respuestas de la entrevista de Selenium”.
Hoy, en este tutorial te presentaremos Rejilla de selenio - a ejecución de prueba distribuida entorno para acelerar la ejecución de una prueba pasada. Aprenda a realizar pruebas en varios navegadores con Selenium Grid.
Lo que vas a aprender:
- ¿Cuál es la necesidad de la rejilla de selenio?
- Beneficios de la rejilla de selenio
- Instalar Selenium GRID
- Navegador y nodos
- maxInstances
- maxSession
- Ejemplo de código de cuadrícula
- Configuración mediante archivo JSON
- Conclusión
- Lectura recomendada
¿Cuál es la necesidad de la rejilla de selenio?
A medida que avanza por completo Tutoriales de Selenium WebDriver descubrirá que WebDriver ejecutará sus casos de prueba en una sola máquina.
Aquí hay algunos problemas con esta configuración:
- ¿Qué sucede si desea ejecutar sus casos de prueba para diferentes sistemas operativos?
- ¿Cómo ejecutar sus casos de prueba en diferentes versiones del mismo navegador?
- ¿Cómo ejecutar sus casos de prueba en varios navegadores?
- ¿Por qué un escenario debería esperar la ejecución de otros casos de prueba incluso si no depende de ningún caso de prueba?
Todos estos problemas se abordan en Selenium GRID.
A medida que avancemos con el curso de Selenium, nos haremos una idea de cómo podemos superar estos problemas. Básicamente, la arquitectura Grid se basa en la arquitectura maestro-esclavo. La máquina maestra distribuye casos de prueba a diferentes máquinas esclavas.
Hay 2 versiones de Grid disponibles. Selenium Grid 2.0 es lo último de Selenium. Selenium 1.0 era la versión anterior. La mayoría de los expertos en Selenium prefieren usar Selenium Grid 2.0 ya que está repleto de nuevas funciones. Selenium Grid 2.0 es compatible con los scripts de Selenium RC y Selenium WebDriver.
Herramienta recomendada:
# 1) Prueba Lambda
Realice pruebas de automatización de Selenium en una Selenium Grid en línea escalable, segura y confiable basada en la nube. Acelere la automatización de las pruebas de Selenium al mismo tiempo que aumente la cobertura de las pruebas realizando pruebas en una infraestructura en línea de más de 2000 entornos de navegador de escritorio y móviles.
Lectura sugerida = >> Automatice las pruebas del navegador con LambdaTest
=> Visite el sitio web de LambdaTest
Beneficios de la rejilla de selenio
- Selenium Grid ofrece la flexibilidad de distribuir sus casos de prueba para su ejecución.
- Reduce el tiempo de procesamiento por lotes.
- Puede realizar pruebas en varios navegadores.
- Puede realizar pruebas de varios sistemas operativos.
Terminología básica de la cuadrícula de selenio:
Centro : Hub es el punto central de toda la arquitectura GRID que recibe todas las solicitudes. Solo hay un centro en la cuadrícula de selenio. Hub distribuye los casos de prueba en cada nodo.
Nodo : Puede haber varios nodos en Grid. Las pruebas se ejecutarán en nodos. Cada nodo se comunica con el Hub y realiza la prueba que se le asigna.
Instalar Selenium GRID
Paso 1 : Descargue el archivo jar de Selenium Server del sitio web oficial de Selenium, anteriormente conocido como Selenium RC Server y guárdelo en cualquier ubicación del disco local.
URL de la sede de selenium: http://www.seleniumhq.org/download/
Paso 2 : Abra el símbolo del sistema y navegue hasta una carpeta donde se encuentra el servidor. Ejecute el servidor usando el siguiente comando
java -jar selenium-server-standalone-2.41.0.jar -role hub
El concentrador utilizará el puerto 4444 de forma predeterminada. Este puerto se puede cambiar pasando el número de puerto diferente en el símbolo del sistema, siempre que el puerto esté abierto y no se le haya asignado una tarea.
El estado se puede verificar mediante la interfaz web: http: // localhost: 4444 / grid / console
Paso 3 : Vaya a la otra máquina en la que desea configurar los nodos. Abra el símbolo del sistema y ejecute la siguiente línea.
|_+_|Ejecute el servidor de selenio en otras máquinas para iniciar los nodos.
Navegador y nodos
Después de iniciar el concentrador y los nodos en cada máquina, cuando vaya a la consola GRID
Encontrará 5 navegadores Chrome, 5 Firefox y 1 navegador IE en la sección Navegador como se muestra a continuación.
Esto indica que, de forma predeterminada, puede utilizar 5 Chrome, 5 Firefox y 1 navegador IE.
Por ejemplo, si desea usar solo IE, puede iniciar el nodo usando el siguiente comando:
|_+_|Verifique el tipo de navegador junto con otros detalles en GRID Console haciendo clic en ver configuración .
De manera similar para Firefox:
|_+_|
Para Chrome:
|_+_|
Hay algunos escenarios en los que es posible que necesite el navegador de cada tipo, es decir: IE, Chrome y Firefox.
Por ejemplo, es posible que deba utilizar 1 navegador IE y 1 Firefox y 1 navegador Chrome
|_+_|
maxInstances
maxInstance se utiliza para limitar el número de inicializaciones del navegador en un nodo.
Por ejemplo, si desea trabajar con 2 Firefox y 2 IE, puede iniciar el nodo usando maxInstance.
|_+_|La instancia máxima se puede verificar en la pestaña de configuración.
Del mismo modo, se pueden configurar otras instancias del navegador mediante maxInstances.
maxSession
maxSession se usa para configurar cuántos navegadores se pueden usar en paralelo en el sistema remoto.
|_+_|Del mismo modo, puede iniciar varios nodos y la configuración se puede verificar en la consola.
NODO1:
NODO2:
Ejemplo de código de cuadrícula
Aquí he usado TestNG para ejecutar un caso de prueba GRID de muestra.
Requisito previo : Cree Hub y nodos como se explicó anteriormente y TestNG debe configurarse en eclipse.
Aquí tomé una prueba de muestra para iniciar sesión en Gmail e ingresar nombre de usuario y contraseña
|_+_|Como en el ejemplo, debe usar RemoteWebDriver si está usando GRID y debe proporcionar capacidades al navegador. Debe configurar el navegador y la plataforma como se indicó anteriormente.
mejor software de recuperación de archivos windows 10
En este ejemplo, he usado la plataforma como WINDOWS. Puede utilizar cualquier plataforma según sus necesidades.
También se puede configurar una versión del navegador usando dr.setVersion ('versión')
Por ejemplo, debe ejecutar esta prueba en serie en varios navegadores, debe configurar su testng.xml. A continuación se muestra el conjunto testng.XML para que la prueba anterior ejecute su prueba en serie.
Para ejecutar la prueba en paralelo, debe cambiar su testng.xml como se muestra a continuación.
Aquí en testng.XML tienes que especificar el parámetro como parllel = 'Pruebas' y número de hilos = “3” describe el número máximo de subprocesos que se ejecutarán en paralelo.
Configuración mediante archivo JSON
La cuadrícula también se puede iniciar junto con su configuración mediante un archivo de configuración JSON.
Cree un archivo JSON para tener la siguiente configuración. Aquí he creado un archivo JSON llamado grid_hub.json
|_+_|Inicie el concentrador usando el siguiente comando
java -jar selenium-server-standalone-2.41.0.jar -role hub –hubConfig grid_hub.json
Del mismo modo, cree un archivo json diferente para diferentes nodos según la configuración requerida.
Aquí hay un ejemplo de archivo de configuración JSON para el nodo llamado grid_node.json
|_+_|Para iniciar el nodo
java -jar selenium-server-standalone-2.41.0.jar -role rc –nodeConfig grid_node.json
Puede cambiar toda la configuración de un navegador, maxInstances, puerto, maxSession, etc.en el archivo JSON.
Puede proporcionar la versión del navegador, la plataforma en el archivo de configuración JSON como se muestra a continuación:
{
'BrowserName': 'chrome', 'versión': '8', 'plataforma': 'Windows'
}
Conclusión
Es aconsejable use Selenium Grid cuando tenga que realizar pruebas en varios navegadores y tenga una gran cantidad de casos de prueba.
En este módulo, cubrimos cómo configurar el concentrador y los nodos de Grid junto con cómo ejecutar casos de prueba de Grid usando testng.XML y archivos JSON.
Siguiente tutorial n. ° 30 : Pruebas de automatización con la herramienta Selenium and Cucumber . Pepino es una prueba de BDD herramienta y marco. Aprenderemos las características de la herramienta Cucumber y su uso en escenarios en tiempo real que incluyen cómo integrar Selenium WebDriver con Cucumber .
Publique sus consultas relacionadas con Selenium Grid en los comentarios a continuación.
Lectura recomendada
- Tutorial de Docker Selenium: Cómo integrar Selenium Grid con Docker
- Pruebas de automatización con la herramienta Pepino y selenio - Tutorial de selenio n. ° 30
- Tutorial de Cucumber Selenium: Integración de Cucumber Java Selenium WebDriver
- Spock para pruebas funcionales y de integración con selenio
- Tutoriales detallados de Eclipse para principiantes
- Introducción a Selenium WebDriver - Tutorial de Selenium n. ° 8
- Tutorial de Geb: pruebas de automatización del navegador con la herramienta Geb
- Tutorial de Parrot QA: Revisión de la herramienta de prueba funcional entre navegadores