Softtek Softtek
  • Our experience
  • Overview
  • Insights
  • Blog
  • Newsroom
  • Careers
  • Contact us
softtek Language Selector
ENGLISH
EUROPE / EN
ESPAÑOL
EUROPA / ES
PORTUGUÊS
中文(简体)
Search button
AI
APPROACH
INDUSTRIES
SERVICES & SOLUTIONS
TRANSCEND
Softtek GenAI
FRIDA AI for Software Engineering
Service Transformation
Portfolio Transformation
Digital Acceleration
Our Work
Agribusiness
Airlines
Automotive
Banking & Financial Services
Consumer Packaged Goods
Energy & Utilities
Fitness & Wellness
Gaming
Government & Public Sector
Higher Education
Healthcare
Industrial
Insurance
Media & Entertainment
Oil & Gas
Pharma & Beauty
Professional Sports
Restaurant & Hospitality
Retail
Technology
Telecommunications
Transportation & Logistics
Digital Solutions
Digital Optimization
Digital Sales
Data Masking Solution
IT Cost Optimization
Fan Engagement Ecosystem
Softtek Digital Enablers
DIEGO
blauLabs
Business OnDemand
Click2Sync Omnichannel
Automotive Digital Assistant
Guest Engagement
Socializer
Collaborative Commuting
Workplace Management
Application Services
Software Development
Quality Engineering
Application Management
Application Services
Cloud & DevOps
Cloud Services
IT Infrastructure
Digital Security
DevOps
Data & Automation
Data and AI
Intelligent Automation
Services Transformation
Core Modernization
Next-Gen IT Operations
Platform Services
AWS
SAP
Microsoft
Salesforce
ServiceNow
Atlassian
BlueYonder
Sustainability by Softtek
Softtek
Language selector
search button
AI
Softtek GenAI
FRIDA AI for Software Engineering
APPROACH
Service Transformation
Portfolio Transformation
Digital Acceleration
Our Work
INDUSTRIES
Agribusiness
Airlines
Automotive
Banking & Financial Services
Consumer Packaged Goods
Energy & Utilities
Fitness & Wellness
Gaming
Government & Public Sector
Higher Education
Healthcare
Industrial
Insurance
Media & Entertainment
Oil & Gas
Pharma & Beauty
Professional Sports
Restaurant & Hospitality
Retail
Technology
Telecommunications
Transportation & Logistics
SERVICES & SOLUTIONS
Digital Solutions
Digital Optimization
Digital Sales
Data Masking Solution
IT Cost Optimization
Fan Engagement Ecosystem
Softtek Digital Enablers
DIEGO
blauLabs
Business OnDemand
Click2Sync Omnichannel
Automotive Digital Assistant
Guest Engagement
Socializer
Collaborative Commuting
Workplace Management
Application Services
Software Development
Quality Engineering
Application Management
Application Services
Cloud & DevOps
Cloud Services
IT Infrastructure
Digital Security
DevOps
Data & Automation
Data and AI
Intelligent Automation
Services Transformation
Core Modernization
Next-Gen IT Operations
Platform Services
AWS
SAP
Microsoft
Salesforce
ServiceNow
Atlassian
BlueYonder
TRANSCEND
Sustainability by Softtek
Our experience
Overview
Insights
Blog
Newsroom
Careers
Contact us
Presencia Global
ENGLISH
EUROPE / EN
ESPAÑOL
EUROPA / ES
PORTUGUÊS
中文(简体)
Softtek Blog

Lanzando test distribuidos con Selenium Grid (parte I)

Autor
Author Sabrina Bozzi
Publicado el:
ene 30, 2019
Tiempo de lectura:
ene 2019
|
SHARE
Share on LinkedIn
Share on X
Share on Facebook
SHARE
Share on LinkedIn
Share on X
Share on Facebook

 

testing3

Nuestro compañero Antonio nos hablaba en este post sobre la importancia de las pruebas de regresión en las grandes empresas y hoy, junto a mi compañera Tere, queremos hablaros sobre otro gran aliado para nuestro propósito: Selenium Grid.

 “O te renuevas o mueres…Todo fluye; Todo cambia; Nada permanece”.

A todo el mundo nos suena esta frase tan famosa de Heráclito. Resulta curioso que un pensamiento filosófico, que ha permanecido desde el principio de los tiempos, perdure en este presente y vaya a perdurar en el resto de los tiempos.

Hoy en día, la tecnología se encuentra en un bucle infinito de renovación; en el que hardware y software van de la mano en este cambio. Desde el punto de vista de un ingeniero de pruebas, vemos constantemente este cambio. Las aplicaciones se actualizan, los navegadores se actualizan y nosotros, los testers, tenemos que actualizarnos día a día para que lo que funcionaba antes siga funcionando. Y aquí es donde entra nuestro nuevo amigo ya mencionado: Selenium Grid.

 

¿Qué nos aporta Selenium Grid?

Selenium Grid nos permite lanzar múltiples tests a través de diferentes navegadores, SO y máquinas en paralelo. Esto asegura que la aplicación que se está testeando tenga compatibilidad con un amplio rango de combinaciones de navegadores-SO, elevando de esta manera, a otro nivel, nuestras pruebas sobre la compatibilidad de la aplicación en cualquier entorno. Esto supone un antes y un después en cuanto a la calidad.

Selenium Grid nos va a permitir crear una red de máquinas conectadas, a las que llamaremos nodos, que estará controlada por un balanceador mediante el cual podremos ejecutar nuestro set de pruebas en los diferentes nodos de nuestra red. Cada uno de esos nodos puede combinar diferentes versiones de los navegadores y diferentes sistemas operativos. Esta combinación supone multitud de pruebas y, por lo tanto, mayor probabilidad de encontrar errores en nuestros aplicativos.

1

Por ejemplo, en el gráfico siguiente tenemos 5 instancias de pruebas repartidas en tres nodos; de esta manera podremos lanzar cinco tests de manera concurrente. Eso no significa que el número total de tests sea cinco: cuando un test acaba, la instancia que lo ejecutaba es liberada, pudiendo ejecutarse otro test en dicha instancia. Si quisiéramos ejecutar seis tests, Selenium Grid lanzaría los cinco primeros y esperaría a que se liberara una de las instancias para lanzar el sexto.

 

 seleniumHub

Herramientas y componentes

Selenium Grid es una herramienta para lanzar tests de Selenium de forma distribuida, que utiliza internamente Selenium Remote Control para ejecutar los test con distintos navegadores y plataformas. Selenium Grid funciona ejecutando un componente llamado Selenium Hub.

Selenium Hub: este componente recibe las órdenes de ejecución de los tests y coordina a múltiples servidores para ejecutar los test en los distintos nodos de nuestra red. Asegura que las peticiones de los tests se carguen balanceadamente y direcciona las peticiones de cada test al nodo apropiado.

Selenium Hub es escalable y es el único punto de entrada para los test.

Selenium Remote Control: este componente recibe las peticiones de cada test desde Selenium Hub y las redirecciona contra el sitio web usando el protocolo HTTP. Esto permite que nuestros test puedan ser políglotas y podamos usar cualquier lenguaje de programación que permita realizar peticiones HTTP.

En resumen, la ejecución de los tests se hace con Selenium Grid, éste ejecuta Selenium Hub, el cual controla los distintos servidores Selenium Remote Control, donde se encuentran los nodos de nuestra red (diferentes navegadores, sistemas operativos y sus respectivas versiones).

seleniumhub2

 

Selenium Grid provee la flexibilidad de ejecutar los tests en diferentes navegadores y diferentes SO al mismo tiempo.

Para arrancar Selenium Grid, en primer lugar, se deberá descargar e instalar Selenium Server. Podéis hacerlo aquí:  http://docs.seleniumhq.org/download/          

Tras descargar Selenium Grid, se debe setear una máquina como hub.

El cliente será nuestro PC así que, por medio de línea de comandos, debes posicionarte en la carpeta donde se encuentra en jar de Selenium Server recién descargado. A esta máquina le daremos el rol de hub con el siguiente comando (añadiendo el atributo -role hub).

java -jar nombre_del_jar.jar  -role hub

Ejemplo:   java –jar selenium-server-standalone.jar -role hub

Si el hub se lanza correctamente, en la pantalla de línea de comandos se debe mostrar un mensaje indicando “Selenium Grid hub is up and running”.

 text

 

Para verificar que el hub se encuentre levantado, se debe escribir en el navegador lo siguiente: http://localhost:4444/grid/console

  4

A continuación, se debe registrar una máquina como nodo. Esto es necesario para que el hub la pueda reconocer como "disponible" cuando se ejecuten los tests. En este caso, al atributo -role le indicaremos el valor "node"

java -jar nombre_del_jar.jar -role node -hub http://ip_de _la_maquina_donde_esta_el_hub_levantado:4444/grid/register -port 5555

En la pantalla de línea de comandos se debe mostrar un mensaje indicando “The node is registered to the hub and ready to use”.

  text2

 

Para verificar que el nodo se ha registrado correctamente, ejecuta en el navegador: http://localhost:4444/grid/console

 5

Se puede observar que se ha registrado el nodo al hub y tiene 5 instancias de Firefox, 1 de Safari y 5 de Chrome.

¡Y hasta aquí todo lo que necesitamos saber sobre Selenium Grid antes de pasar a la acción!

 

En el próximo capítulo, de nuevo junto a mi compañera Tere, enseñaremos cómo instalar, configurar y ejecutar un set de pruebas usando Selenium Grid... ¡¡No te lo pierdas!!

 

Related posts

team
mar 28, 2019
Waterfall vs Agile
unix
ene 10, 2019
Las empresas de la próxima generación
ternium
ene 16, 2019
Softtek y su trabajo con el grupo Techint, el desafío de acompañar a un gigante global

Let’s stay in touch!

Get Insights from our experts delivered right to your inbox!

Follow us:
Softtek LinkedIn
Softtek Twitter
Softtek Facebook
Softtek Instagram
Softtek Instagram
Follow us:
Softtek LinkedIn
Softtek Twitter
Softtek Facebook
Softtek Instagram
Softtek Instagram

© Valores Corporativos Softtek S.A. de C.V. 2025.
privacy notice
legal disclaimer
code of ethics
our policies
webmaster@softtek.com