docker selenium tutorial
Introducción al tutorial de Docker Selenium:
Como se discutió en uno de nuestros tutorial anterior La cuadrícula de selenio ayuda a ejecutar nuestros casos de prueba en diferentes sistemas operativos y en diferentes navegadores.
Sin embargo, esto Tutorial de Docker Selenium le explicará más sobre qué es un Docker y cómo lo descargamos, instalamos e integramos con la cuadrícula de Selenium junto con las capturas de pantalla correspondientes y esta representación pictórica le permitirá comprender el proceso rápida y fácilmente también.
mejores programas gratuitos de optimización de pc
Lo que vas a aprender:
- ¿Qué es Selenium Grid?
- Un ejemplo práctico de uso de la rejilla de selenio
- ¿Qué es Docker?
- Requisitos previos para el tutorial de Docker Selenium
- Descarga de Docker para Windows
- Instalar las imágenes de Docker
- Iniciar Selenium Hub
- Iniciar nodos de selenio
- Configuración de pruebas de selenio
- Conclusión
- Lectura recomendada
¿Qué es Selenium Grid?
La cuadrícula de selenio ayuda a dominar la computadora (concentrador) para distribuir los casos de prueba entre las máquinas esclavas (nodos).
Cuando implementamos todos los casos de prueba en una máquina en algún momento, puede haber algunas limitaciones y, a veces, una sola máquina no será suficiente para ejecutar todos los casos de prueba y ese momento en el que la cuadrícula de selenio entra en juego.
Un ejemplo práctico de uso de la rejilla de selenio
Hace 2-3 años, China prohibió los productos de Google en el país. En ese momento, algunas otras empresas que desarrollaron sistemas web para China tuvieron que probar su sistema web con diferentes navegadores excepto los productos de Google (Google Chrome) como Internet Explorer, Firefox, Opera, etc.
Entonces, en ese momento, la cuadrícula de Selenium era muy útil para esas empresas, ya que usaban la cuadrícula de Selenium para ejecutar sus casos de prueba en diferentes navegadores, excepto Google Chrome.
¿Qué es Docker?
En términos simples, Docker puede denominarse contenedor. Los desarrolladores o los usuarios de Docker pueden poner cosas como bases de datos, bibliotecas, dependencias en ese contenedor y luego usar esas bases de datos, dependencias y bibliotecas para crear, implementar y ejecutar aplicaciones.
Al usar contenedores Docker, puede configurar y empaquetar una aplicación de software con todos los contenidos necesarios para construir esa aplicación, como bases de datos, bibliotecas y otras dependencias, y finalmente, puede enviarlos todos como un solo paquete.
Por lo general, al configurar la cuadrícula de Selenium, necesitamos alojar varias máquinas virtuales como nodos y debemos conectar cada nodo con el concentrador. Además, cuando configuramos una cuadrícula normal, necesitamos descargar el archivo jar del servidor de Selenium y ejecutar ese archivo jar en cada computadora en la que vamos a configurar la cuadrícula de Selenium.
Esta es una tarea costosa y, a veces, que requiere mucho tiempo para los evaluadores. Sin embargo, Docker nos ayuda a resolver problemas relacionados con los costos y que requieren mucho tiempo.
Docker fue inventado por Solomon Hykey y se lanzó a la industria del software en marzo de 2013 como una herramienta de código abierto. Hoy en día, los desarrolladores e ingenieros de sistemas utilizan Docker por varias razones.
En este tutorial, usaremos Docker para pruebas de software y automatización de software.
Requisitos previos para el tutorial de Docker Selenium
En primer lugar, necesitamos configurar un entorno para ejecutar el script de Selenium.
A continuación se muestran algunas cosas que debemos verificar:
- Si su máquina consta de JDK 1.7 o una versión posterior
- ¿Están instalados los navegadores Chrome y Firefox en su máquina local?
- Casos de prueba basados en Selenium WebDriver y TestNG.
- Se configuró el archivo Testng.xml para ejecutar casos de prueba como pruebas paralelas.
Descarga de Docker para Windows
Lo siguiente que debemos hacer es instalar la caja de herramientas de Docker. Para ejecutar los comandos de Docker, necesitamos el terminal de inicio rápido de Docker que vendrá junto con la caja de herramientas de Docker. Por lo tanto, tenemos que instalar la caja de herramientas de Docker.
Podemos descargar la caja de herramientas de Docker desde cualquier sitio web, pero le recomiendo que descargue la caja de herramientas de Docker desde su sitio web oficial: Estibador .
Mientras instala la caja de herramientas de Docker, aparecerán algunas casillas de verificación y, para completar la instalación, debe marcar todas esas casillas de verificación e instalar la caja de herramientas de Docker. Si lo ha instalado correctamente, obtendrá los siguientes tres iconos de la caja de herramientas de Docker.
Después de instalar la caja de herramientas de Docker, haga doble clic y abra la terminal de inicio rápido de Docker. Docker configurará su máquina predeterminada con la dirección IP: 192.168.99.100 y llevará algún tiempo configurar su máquina local por primera vez. Por lo tanto, debe esperar hasta que aparezca la siguiente ventana.
¡Docker está configurado correctamente!
Instalar las imágenes de Docker
Mientras configuramos la cuadrícula de Selenium (sin Docker), también necesitamos configurar el concentrador y los nodos de Selenium (navegadores).
Como una cuadrícula normal cuando configuramos la cuadrícula de Selenium con el Docker tenemos que instalar el concentrador y los nodos del navegador en nuestro contenedor Docker y luego, podemos iniciar el concentrador y los nodos desde ese contenedor Docker.
Por lo tanto, lo primero es instalar las imágenes del nodo y del concentrador en Docker.
Inicialmente, necesitamos instalar cinco imágenes para ejecutar nuestra prueba con Docker.
- Imagen del concentrador de selenio
- Imagen de Selenium node-firefox
- Imagen de Selenium node-chrome
- Selenium node-firefox-debug image
- Imagen de depuración de Selenium node-chrome
La siguiente pregunta será cómo encontrar esas imágenes. Para encontrar esas imágenes pasamos al Docker Hub y busque esas imágenes por nombre y también puede escribir el nombre de la imagen en la barra de búsqueda como se muestra a continuación.
Una vez que escriba el nombre y presione enter, podrá ver la ventana de abajo.
Esta ventana muestra todos los repositorios de imágenes que tenemos para el concentrador de Selenium. Aquí debe hacer clic en la imagen que tiene la mayor cantidad de extracciones y ayudará a ejecutar nuestro código sin errores. Una vez que haga clic en esa imagen, verá otra ventana como la que se muestra a continuación.
(Nota:Haga clic en cualquier imagen para ampliarla)
Esta ventana le proporcionará toda la información sobre la imagen (imagen del concentrador de Selenium) y le dará todos los comandos relevantes para esa imagen (imagen del concentrador de Selenium). Aquí, el comando de extracción de Docker es el comando para instalar esa imagen de Docker en su contenedor.
Por lo tanto, inicialmente, tenemos que instalar la imagen del concentrador de Selenium. Para hacerlo, debe copiar el comando de extracción de Docker y pegarlo en la terminal de inicio rápido de Docker como se muestra a continuación.
Después de ingresar cada comando en la terminal de inicio rápido de Docker, debe esperar un tiempo para permitir que las imágenes se descarguen en su contenedor de Docker y el tiempo de espera depende completamente de la velocidad de su conexión de red. A veces, algunas imágenes fallarán durante la instalación o la descarga y, si sucede, lo mejor que puede hacer es instalar esa imagen nuevamente hasta que el terminal muestre que la instalación se completó.
Otro factor importante es que no se debe escribir el segundo comando antes de completar la descarga del primer comando. Fallará tanto la descarga como la instalación.
Del mismo modo, puede buscar e instalar las cinco imágenes mencionadas anteriormente en su contenedor Docker.
La siguiente tabla muestra todos los comandos de extracción que debe escribir en la terminal de inicio rápido e instalar.
Imagen | Mando |
---|---|
Concentrador de selenio | Docker pull selenium / hub |
Nodo de selenio firefox | Docker extraer selenium / node-firefox |
Nodo de cromo selenio | Docker extraer selenium / node-chrome |
Depuración de Selenium Firefox | Docker extraer selenium / node-firefox-debug |
Depuración de cromo selenio | Docker pull selenium / node-chrome-debug |
Después de descargar todas las imágenes en su contenedor, puede verificarlo usando el siguiente comando.
Imágenes de Docker
Ahora todas las imágenes se descargan correctamente. Por lo tanto, podemos ejecutar esas imágenes una por una.
Iniciar Selenium Hub
En una cuadrícula de Selenium normal (sin Docker), el primer paso es iniciar el concentrador de Selenium. Para iniciar Selenium hub desde el contenedor Docker, tenemos un comando especial que es
docker run -d -p 4444: 4444 –nombre selenium-hub selenium / hub
Una vez que escriba e ingrese ese comando en su terminal, el concentrador de Selenium se abrirá desde el contenedor de Docker. Puede verificar si Selenium hub se ha iniciado o no consultando el siguiente enlace en su navegador: http://192.168.99.100:4444/grid/console
Aquí en esta imagen 192.168.99.100 es su dirección IP
Iniciar nodos de selenio
Se inicia el concentrador de selenio y, a continuación, debemos iniciar los nodos desde el contenedor Docker, debemos iniciar el nodo Chrome y el nodo Firefox. Hemos instalado ambas imágenes de nodo en nuestro contenedor Docker en el proceso de instalación.
Ahora, comencemos con ambos nodos uno por uno. Además, recuerde que puede ejecutar tantos nodos como desee. Aquí solo he usado dos nodos (nodo Chrome y nodo Firefox).
Comando para ejecutar el nodo de Chrome desde Docker: docker run -d –link selenium-hub: hub selenium / node-chrome
Comando para ejecutar el nodo de Firefox desde Docker: docker run -d –link selenium-hub: hub selenium / node-firefox
Después de ejecutar el nodo de Chrome y el nodo de Firefox, también debemos ejecutar el nodo de depuración de Chrome y el nodo de depuración de Firefox. Ejecutamos e instalamos el nodo de depuración de Chrome y el nodo de depuración de Firefox con fines de demostración y, al final de este tutorial, ejecutaré un caso de prueba en ambos nodos de depuración mediante el visor de VNC (Computación de red virtual).
Para el visor VNC, necesitamos el nodo de depuración de Firefox y Chrome. El visor VNC (Virtual Network Computing) nos ayuda a ver diferentes acciones del navegador al mismo tiempo en una computadora.
Comando para ejecutar el nodo de depuración de Chrome desde Docker: docker run -d –P –link selenium-hub: hub selenium / node-chrome-debug
Comando para ejecutar el nodo de depuración de Firefox desde Docker: docker run -d –P –link selenium-hub: hub selenium / node-firefox-debug
A veces, ambos comandos pueden ser ignorados por la terminal de inicio rápido de Docker. Si su terminal de inicio rápido Docker ignora esos dos comandos, alternativamente puede usar los siguientes comandos para iniciar el modo de depuración de los navegadores Chrome y Firefox.
Alternativa 01
Docker run –d –P –link selenium-hub: hub selenium / node-chrome-debug
Docker run –d –P –link selenium-hub: hub selenium / node-firefox-debug
Alternativa 02
docker run –d –link selenium-hub: hub selenium / node-chrome-debug
Docker run –d –link selenium-hub: hub selenium / node-firefox-debug
Después de ejecutar los nodos y los nodos de depuración de los nodos de Chrome y Firefox y de Chrome y Firefox, puede actualizar su navegador y encontrará Firefox y el nodo de Chrome a partir de su contenedor.
Si ocurre algún error durante la instalación o el proceso de ejecución de imágenes, lo mejor que puede hacer es volver a instalar y ejecutar esa imagen en particular nuevamente desde Docker.
Ahora hemos completado todos los pasos en el lado del contenedor de Docker. A continuación, debemos prestar atención al script de Selenium y al visor de VNC para hacer nuestra demostración.
En primer lugar, debemos identificar los números de puerto de los nodos de depuración de Chrome y Firefox que se están ejecutando. Porque requerimos esos números de puerto para el visor VNC.
Para identificar los números de puerto del nodo de Chrome y Firefox, puede escribir el siguiente comando en su terminal de inicio rápido y podrá ver todas las imágenes de Docker y los puertos en ejecución de cada imagen en la columna PORTS.
estibador ps - a
Nodos | Ejecución de números de puerto |
---|---|
Nodo de depuración de Chrome | 32771 |
Nodo de depuración de Firefox | 32772 |
Ahora, conocemos los números de puerto de los nodos de depuración de Chrome y Firefox que se están ejecutando, por lo que podemos iniciar ambos navegadores usando el visor VNC.
Para eso, debemos seguir los pasos que se detallan a continuación:
1) Descargue el visor VNC de su sitio oficial: Descarga VNC
2) Ejecutarlo
3) Escriba la URL del concentrador y el número de puerto de cada modo de depuración como se muestra a continuación y haga clic en el botón de conexión
cómo implementar un árbol de búsqueda binario en java
URL del HUB : NÚMERO DE PUERTO
- Para el navegador Chrome 192.168.99.100 : 32771
4) Después de hacer clic en el botón de conexión, el visor de VNC le pedirá una contraseña. De forma predeterminada, la contraseña para el visor VNC es secreto , escriba la contraseña como secreto y haga clic en Aceptar y podrá ver una ventana para el navegador Chrome.
5) Del mismo modo, debe hacer lo mismo para el navegador Firefox utilizando un visor VNC. Abra la aplicación VNC en su computadora local y use el número de puerto de ejecución de Firefox con la URL del concentrador y haga clic en el botón de conexión.
- Para el navegador Firefox 192.168.99.100 : 32772
De nuevo, verá que se abre otra ventana para el navegador Firefox.
Ahora ambos navegadores se muestran en el visor de VNC. Nuestra siguiente tarea es escribir el script de selenium y ejecutarlo.
Configuración de pruebas de selenio
Como de costumbre, podemos crear un script de prueba que sea relevante para la cuadrícula de selenio, los pasos para crear un script de cuadrícula de selenio se discuten en nuestro tutorial de cuadrícula de selenio .
Aquí está el script que creé, este es un script de selenio normal y creé dos pruebas y configuré la capacidad deseada de esas pruebas en dos navegadores diferentes que creamos.
Además, cambié mi archivo XML para ejecutar la prueba de forma paralela.
Hemos completado todos los pasos y puede ejecutar su prueba ahora. Después de ejecutar su prueba, podrá ver la prueba ejecutándose a través de dos navegadores diferentes que creamos con Docker. El visor de VNC mostrará cómo un navegador navega a cada sitio web al mismo tiempo.
Conclusión
Cuando tiene una gran cantidad de casos de prueba, puede utilizar la cuadrícula de Selenium para acelerar las ejecuciones de sus casos de prueba. A veces tenemos que ejecutar y probar sus casos de prueba en diferentes sistemas operativos y, en ocasiones, también debe verificar sus casos de prueba en diferentes navegadores. Usamos la cuadrícula de selenio en tales ocasiones.
En ocasiones, la configuración de la red de selenio puede ser un proceso costoso y que requiere mucho tiempo, ya que necesitamos varias máquinas. En tales casos, la mejor opción será utilizar Selenium Grid con Docker.
Lectura recomendada
- Tutorial de Selenium Grid: configuración y ejemplo de pruebas entre navegadores
- Tutorial de Cucumber Selenium: Integración de Cucumber Java Selenium WebDriver
- Introducción a Selenium WebDriver - Tutorial de Selenium n. ° 8
- Tutoriales detallados de Eclipse para principiantes
- Scripts eficientes de Selenium y escenarios de resolución de problemas: tutorial de Selenium n. ° 27
- Depuración de scripts de Selenium con registros (Tutorial de Log4j) - Tutorial de Selenium n. ° 26
- Más de 30 mejores tutoriales de selenio: aprenda selenio con ejemplos reales
- Introducción a JUnit Framework y su uso en Selenium Script - Tutorial de Selenium n. ° 11