Saltar al contenido principal
Página

Tema 3.6 - Ejecutar pruebas de forma paralela

Para utilizar esta funcionalidad es necesario instalar los siguientes elementos:

  • Node (Lenguaje de programación basado en javascript) la versión 8 o 10.
  • Npm (Gestor de paquetes NodeJS) Usualmente viene con el node
  • Selenium-side-Runner (Es el Command-line runner de Selenium IDE)
  • Driver del navegador que se quiere utilizar para hacer las pruebas

Node

Se descarga desde la siguiente dirección:https://nodejs.org/en/download/

Para este caso se descarga la versión de Windows.



  • Al abrir el archivo descargado se abre la siguiente ventana:



  • Se presiona Ejecutar.


  • Se espera un instante hasta que aparezca la pantalla anterior con el botón Next y se presiona, una vez la instalación termine se da finalizar y se reinicia el computador para que termine la instalación.

  • Una vez el computador este encendido se abre el símbolo de sistema y se ejecuta      node –v para verificar 

que node se encuentre en funcionamiento.


NPM

Una vez instalado NODE, se verifica que npm quedo instalado también, para esto se utiliza el comando npm –v.



Selenium-Side-Runner

 

Para el caso de Selenium-side-Runner se instala desde el símbolo de sistemas con el comando npm install -g selenium-side-runner.


Driver del navegador

 Para este caso las pruebas se realizarán mediante el navegador de Chrome, para esto se descarga el ChromeDriver de la siguiente página: http://chromedriver.storage.googleapis.com/index.html  (Mas adelante se explicara cómo hacer para obtener la dirección para descargar el driver para otros navegadores ver configuración).  



Se selecciona la versión que se va a descargar, para este caso será la 72.0.3626.69.


  • Una vez en esa pantalla se descarga la versión para el sistema operativo correspondiente, para este caso el controlador será para Windows.
  • Esta página descarga un archivo comprimido (.Zip), se extrae y queda chromedriver.exe.



  • Una vez el .exe este extraído este se tiene que colocar en la siguiente carpeta C:\Users\(Nombre_de_usuario) \AppData\Roaming\npm.


Nota: en caso de que no encuentre la ruta de AppData se puede buscar la carpeta Roaming.


Ejecutar proyecto mediante Selenium-Side-Runner

Para esto creamos un nuevo proyecto en Selenium IDE.


  • Para este ejemplo se harán 3 casos de prueba en la página que se mencionó anteriormente.


1 Caso: se probarán los CheckBoxs de la pagina


Una vez que se hizo el record el Caso de prueba quedaría de la siguiente manera:



Lo que realiza este record es estar dando clic en los checkbox mostrados anteriormente alternando entre uno y el otro.

Una vez ejecutada la prueba el log quedara de la siguiente manera:



Indicando cada paso con ok al ejecutar correctamente.



El comando Open lo que hace es abrir el navegador e ingresar a la URL que se encuentra en el target.

Set window size ajusta el tamaño del navegador según las medidas puestas del target

Click Como dice su nombre hace clic sobre el elemento de interés, para este caso los encuentra mediante el selector linkText que hace referencia al hipervínculo de “checkboxs” de la página principal y el css Selector que mapea los dos campos de checkbox que se presentan en la página.

El comando pause suspende la ejecución de la prueba durante el tiempo especificado en el target.

Video de ejemplo del caso:

 

 


2 Caso: se probarán elementos Drag and Drop


Una vez que se hace el record del Caso de prueba, quedaría de la siguiente manera:


Lo que realiza el record es acceder a la página de drag and drop  de la página que se está automatizando y estar moviendo

 los elementos A y B de un lado al otro, es decir arrastrar el elemento A hasta el elemento B, soltarlo y viceversa.

Una vez ejecutada la prueba el log quedaría de la siguiente manera:

 


Cada línea con el ok indica que se realizó correctamente.



EL comando drag and drop to object lo que hace es arrastrar el objeto que se encuentra en el target (En este caso el target es el elemento que se va a arrastrar) y lo suelta en el elemento especificado en el value (Que es sobre el objeto que se va a soltar el target), estos dos elementos están siendo mapeados por el selector id que contiene en sus etiquetas mostradas a continuación:


Video Ejemplo de caso de prueba:

 
 


3 Caso: se probará DropDrown



Una vez que se hizo el record el Caso de prueba quedaría de la siguiente manera:




Una vez ejecutada la prueba el log quedaría de la siguiente manera:  



Cada línea con el ok indicando que se realizó correctamente.


El comando select escoge dentro de la lista el valor que está especificado en el Value, esta acción se realiza sobre el dropdown que está definido en el target por el atributo id.



Una etiqueta Select  es un menú desplegable que permite al usuario elegir entre diferentes opciones (Options Que son la lista de elementos que puede seleccionar el usuario)

Vídeo ejemplo:

 

 


Organizar el proyecto para ejecutarlo con Selenium-side-runner

Para poder correr el proyecto con selenium.side.runner con los casos de prueba creados anteriormente lo que se hará es crear suite y asignarle test.

Suite: Conjunto de uno o varios test.

Para la creación de una suite los pasos son:


En este espacio de navegación mostrado en la imagen anterior se da click sobre la parte que dice Test donde tiene la flecha y el “+” en el otro extremo.



Se selecciona Test suites.


En esta parte se mostrarán las suites que tiene el proyecto

Para crear una nueva suite se da clic en el “+” que aparece


 

Se abre esta ventana, se escribe el nombre a la suite, en este caso la suite nueva se llamará Suite3  


Para asignar un test a una suite se da clic sobre los 3 puntos que aparecen en el otro costado de donde aparece el nombre



Al dar clic despliega estas opciones



Una vez acá lo que se hace es darle Add tests



Se seleccionan los tests que se quieren asignar a esta suite

y después se le da SELECT

Una vez realizado esto y asignar los diferentes test que se realizaron las suites quedan de la siguiente manera:


Guardar el proyecto de Selenium IDE

Una vez se tiene listo el proyecto con las suites lo que falta es guardar el proyecto mediante el botón

 encontrado en la parte superior derecha.

Se escoge la ruta donde se quiere guardar, el nombre y ya por ultimo cuando se guarda se descarga

 el proyecto.


Ejecutando los casos en paralelo 

con Selenium-Side-Runner

 

El archivo que se descarga al guardar el proyecto de Selenium IDE tiene como extensión .side, para

 poder ejecutar este formato se usa selenium-side-runner que es una biblioteca basada en javascript 

para ejecutar pruebas con esta extensión.

Para ejecutar estas pruebas se hace uso del símbolo del sistema usando el siguiente comando:  
Selenium-side-runner /path/to/your-project.side


Con ese comando lo que hace es ejecutar los diferentes suits que tenemos en el proyecto de forma 
simultánea. 


Para ver un video con este ejemplo en ejecución ver el video Chrome_Paralelo.flv ubicado en la carpeta de este documento.

La cantidad de suites ejecutadas simultáneamente depende del número de núcleos de CPU que se tengan disponibles en la máquina. Para controlar la cantidad de procesos que se quieren ejecutar ir al siguiente enlace Cantidad de procesos.

  

 


Ejecutar pruebas en un navegador diferente

 Para ejecutar las pruebas en un navegador diferente se manda un argumento en donde se está especificando el navegador, esto se hace de la siguiente manera:

selenium-side-runner /path/to/your-project.side -c "browserName=firefox"
-c especifica las capacidades con las que se quiere ejecutar las pruebas (Navegador, plataforma, versión, etc.)


En caso de que no se tenga el driver correspondiente al navegador que se está especificando saldrá el siguiente error:


Para la descarga de este driver lo que se debe hacer es seguir la URL marcada en el error, esta ayuda aparece en diferentes navegadores (Firefox, internet explorer, Chrome, etc.), Una vez descargado el driver de preferencia lo que falta es colocar el driver en la carpeta mencionada anteriormente ver carpeta.

Una vez se hace los cambios necesarios para poder trabajar el proyecto con Firefox la consola quedaría de la siguiente manera:


Y La ejecución se observa de esta manera:



Ejemplo:

 

  Definir cantidad de procesos ejecutándose en paralelo

Para poder definir la cantidad de suite que vamos a ejecutar al mismo tiempo se agrega al comando de ejecución (Que se muestra más adelante) –w n donde n es la cantidad de suite que se ejecutaran en simultaneo y w se refiere a los trabajadores(Workers)

Selenium-side-runner /path/to/your-project.side –w 2

En este caso con el comando anterior se ejecutará de a 2 procesos simultáneamente. 



Ejemplo:

 
 

Última modificación: jueves, 24 de marzo de 2022, 10:00