Saltar al contenido

Uso de la rejilla de selenio LambdaTest para ejecutar pruebas en múltiples máquinas

Uno de los problemas más molestos que los probadores encuentran en la fase de verificación durante las pruebas manuales en varios navegadores es probar las funcionalidades de una aplicación web en diferentes navegadores, dispositivos y sistemas operativos con respecto al tiempo. Por lo tanto, para cubrir miles de navegadores, dispositivos y sistemas operativos disponibles en el mercado, la automatización se ha convertido en una mejor alternativa a las pruebas manuales para las pruebas de compatibilidad entre navegadores.

Cuando se trata de automatización, cada desarrollador o probador prefiere usar software de código abierto que proporciona seguridad y confiabilidad. Y simplemente no podemos desviar la vista del marco de pruebas de automatización más reconocido y reconocido conocido como "Selenium".

Entonces, sepamos algo sobre el selenio y por qué es el mejor marco para realizar pruebas automáticas en varios navegadores.

¿Qué es el selenio?

Selenium es un marco de pruebas automatizadas de código abierto que permite a los evaluadores automatizar pruebas cruzadas del navegador eficazmente. La mayor ventaja de usar selenio es que no implica ningún costo de licencia. Además, no es una sola herramienta, es una suite que consta de cuatro herramientas principales, que incluyen IDE, RC, WebDriver y Selenium Grid.

Es posible que haya visto en nuestros blogs anteriores donde mencionamos cómo automatizar las pruebas en varios navegadores con Selenium WebDriver. Sin embargo, el controlador web de selenio no es la opción correcta para ejecutar pruebas en múltiples máquinas porque le permite realizar pruebas de compatibilidad del navegador solo en una sola máquina, lo que significa que su proceso de automatización se limitará a una combinación particular del navegador: sistema operativo – Dispositivo o solo los que están instalados en su máquina. Además, hay algunas otras limitaciones con la configuración de Selenium WebDriver, tales como:

  • ¿Qué sucede si desea ejecutar casos de prueba para diferentes sistemas operativos que no están instalados en su máquina local?
  • ¿Cómo ejecutarás casos de prueba en diferentes versiones del mismo navegador en tu máquina?
  • ¿Cómo realizar tu prueba en múltiples navegadores ?.
  • ¿Verificando las funcionalidades en plataformas y sistemas operativos que no están instalados en su máquina?
  • Ejecutando pruebas paralelas en su máquina local.

Estos puntos demuestran que la verificación de una aplicación web con la versión local del controlador web de selenio no es un enfoque escalable. No hay duda de que Selenium WebDriver es una gran herramienta para probar aplicaciones web en una escala más pequeña, pero las limitaciones para ejecutar pruebas paralelas se pueden abordar con una cuadrícula de selenio.

¿Qué es la rejilla de selenio?

Selenium Grid es otra herramienta esencial de la suite Selenium que se basa en la arquitectura "cliente-servidor". Selenium Grid permite a los usuarios realizar pruebas en diferentes plataformas, diferentes navegadores y diferentes sistemas operativos al mismo tiempo. Hay dos versiones de la cuadrícula de selenio: la cuadrícula 1 y la cuadrícula 2. Básicamente, la cuadrícula 2 es ampliamente utilizada por los evaluadores, ya que sigue una forma de concentrador y nodo. La máquina cliente en la cuadrícula de selenio se denomina "concentrador" y el servidor o servidores se denominan "nodos".

Una cuadrícula de selenio es extremadamente útil para reducir el tiempo en conjuntos de pruebas grandes y de larga ejecución al ejecutar las pruebas en múltiples máquinas al mismo tiempo. Sin embargo, tendrá que crear una infraestructura local para la red de selenio que lo ayudará a escalar su proceso de prueba, o tendrá que configurar la red de selenio en su sistema para realizar pruebas de navegador cruzado a través de una variedad de navegadores, sistemas operativos y dispositivos. Sin embargo, configurar una red de selenio en su sistema o construir una infraestructura para ello lleva tiempo y requiere un inmenso conocimiento de Selenium.

Por lo tanto, una mejor alternativa para configurar la red de selenio en su sistema está utilizando rejilla de selenio en línea eso no requiere ningún tipo de configuración para ejecutar pruebas en múltiples máquinas.

Usando la red de selenio en línea

La rejilla de selenio en línea permite a los probadores realizar pruebas de compatibilidad del navegador en la nube al eliminar la necesidad de configurar una red de selenio en su sistema o crear una infraestructura para él. Realizar pruebas en múltiples máquinas con cuadrícula de selenio en línea es mucho más conveniente que configurarlo en su sistema.

Beneficios del uso de la red de selenio en línea

La cuadrícula de selenio en línea ofrece muchos beneficios para las pruebas automatizadas en varios navegadores. Aquí, echemos un vistazo a algunos de los principales beneficios:

Una de las ventajas significativas de usar la red de selenio en línea es que proporciona soporte inmediato para cualquier navegador, sistema operativo y dispositivo actualizados. Considerando que, las pruebas con una infraestructura de red de selenio pueden tomar bastante tiempo para que el hardware actualizado ejecute las pruebas según la plataforma de pruebas. Pero, no hay nada como eso con la red de selenio en línea, ya que siempre se actualiza con las últimas plataformas que llegan al mercado, ya sea una versión actualizada del navegador o una nueva máquina.

Otra característica que ofrece la red de selenio en línea es la capacidad de escalar las pruebas según sus requisitos específicos. Con la cuadrícula de selenio en línea, puede elegir si desea realizar la prueba en 5 o 20 navegadores al mismo tiempo. La cuadrícula de selenio en línea permanece en espera y creará máquinas virtuales según sus requisitos.

Una cosa que no se puede obtener con una infraestructura de red de selenio es la productividad del desarrollador. Sin embargo, la red de selenio en línea está disponible durante todo el día, lo que permite a los desarrolladores realizar pruebas en cualquier momento mientras Incrementando sustancialmente su productividad.

La depuración es uno de los aspectos cruciales en el proceso de prueba en varios navegadores. Y con la red de selenio en línea, la depuración se vuelve extremadamente sencilla, ya que viene con una amplia gama de herramientas de gestión de errores. Estas herramientas le permiten registrar errores durante la prueba y eliminarlos para que no vuelvan a ocurrir. Además, el uso de la red de selenio en línea ofrece varios mecanismos de retroalimentación como capturas de pantalla, registro y soporte de video, que pueden reducir el tiempo de depuración.

Bueno, la mayoría de estas funciones dependen del proveedor de la red de selenio en línea que estás usando. Con el proveedor correcto de la red de selenio en línea, puede acceder fácilmente a una gran cantidad de navegadores y sistemas operativos para probar sus aplicaciones web.

Puede encontrar muchos proveedores de red de selenio en línea a través de Internet que ofrecen velocidad, flexibilidad y seguridad. Y una de esas redes de selenio en línea es proporcionada por LambdaTest. Quizás se esté preguntando por qué debería elegir LambdaTest Selenium Grid en lugar de otros proveedores de nube de selenio para realizar pruebas en múltiples máquinas.

LambdaTest Selenium Grid

Estas son algunas de las características de LambdaTest Selenium Grid que muestran por qué es la mejor grilla de selenio en línea en comparación con otras.

  • Realice pruebas paralelas en todos los navegadores utilizando la cuadrícula de selenio LambdaTest
  • Pruebe su aplicación web según sus requerimientos
  • Genera capturas de pantalla automatizadas mientras se ejecutan casos de prueba.
  • Ver todo el proceso de prueba en vivo en un formato de video mientras se realiza
  • Soporte en más de 2000 combinaciones de navegadores para las pruebas de automatización de Selenium
  • Admite múltiples lenguajes de programación como Java, PHP, Python, Ruby, JavaScript y muchos más para las pruebas de automatización
  • Obtenga herramientas preinstaladas de desarrollo y depuración en todos los navegadores remotos
  • Una plataforma de prueba de compatibilidad entre navegadores basada en la nube que le permite realizar pruebas sin preocupaciones en cualquier lugar y en cualquier momento
  • Se integra rápidamente con herramientas de seguimiento de errores como Asana, Trello, Bitbucket, Jira, Slack, GitHub y muchos otros en un solo clic
  • Proporciona un informe de análisis detallado del proceso de prueba.
  • Obtenga asistencia técnica 24 * 7 de ingenieros de automatización profesionales que ayudan a depurar cualquier problema que se presente en tiempo real.

Realización de pruebas paralelas con la rejilla de selenio en línea LambdaTest

Como se mencionó anteriormente, LambdaTest le permite ejecutar casos de prueba en paralelo, lo que significa que si tiene más de uno concurrente sesión, puede ejecutar casos de prueba en más de una máquina a la vez. Ahorra tiempo y mejora la productividad.

Para que quede más claro, consideremos que tiene 100 casos de prueba, cada uno con un tiempo de ejecución promedio de 1 minuto. Sin pruebas paralelas, estas pruebas pueden tardar más de 100 minutos en ejecutarse. Pero, con dos sesiones simultáneas, puede ejecutar 2 casos de prueba en paralelo a la vez, mientras reduce el tiempo de prueba de la compilación a 50 minutos. De manera similar, con cuatro sesiones simultáneas, el tiempo de corte será de 25 minutos y así sucesivamente.

Para comprender mejor cómo realizar pruebas paralelas con LambdaTest Online Selenium Grid; Echemos un vistazo a un ejemplo. En este ejemplo, realizaremos pruebas paralelas en Selenium Grid con el marco de TestNG.

Para iniciar el proceso, necesitas lo siguiente:

  • Una cuenta de LambdaTest: puede registrarse de forma gratuita en LambdaTest para crear una cuenta y seleccionar el paquete específico según sus necesidades.
  • Su nombre de usuario, clave de acceso, (ambos de los cuales obtendrá después de registrarse en LambdaTest) y la URL.
  • Configuración de los tarros de Selenium con el marco TestNG y la plataforma en la que escribirá sus pruebas.

Sin embargo, si está realizando pruebas paralelas con la red de selenio por primera vez, tendrá que configurar un entorno en su sistema para realizar las pruebas. La configuración del entorno requiere lo siguiente:

  • Descargar e instalar Kit de Java y script de tiempo de ejecución de Java en su sistema
  • Después de instalar java kit y jdk1.8 en su sistema, configure la ruta para java yendo a Configuración avanzada del sistema en las propiedades de la computadora.
  • Puede validar si Java está instalado o no usando cmd.
  • Una vez que Java está instalado en su sistema, necesita descargar Eclipse y TestNG framework para realizar pruebas paralelas. También puede descargar TestNG del mercado de Eclipse.

Puede referirse a Configuración de un entorno para pruebas paralelas. para una vista previa detallada.

Una vez que el entorno está configurado en su computadora, puede seguir los pasos a continuación para realizar pruebas paralelas.

  1. Inicie sesión en LambdaTest, obtenga su nombre de usuario y acceso al token yendo a la sección de perfil en la pestaña de configuración. Una vez que se genera la clave de acceso, puede usarla para sus scripts cada vez que realice una prueba.

Usaremos el siguiente fragmento de código para realizar pruebas paralelas en la cuadrícula de Selenium en línea usando el marco de TestNG. Al ejecutar el siguiente código con la cuadrícula de Selenium, aparecerá el panel de LambdaTest en su pantalla, donde verá un proceso de prueba paralelo en todos los navegadores definidos en su código. Una vez que se completa la prueba, se mostrará el resultado de las pruebas aprobadas y las pruebas fallidas. Si se pasan todas las pruebas, puede cerrar la cuadrícula.

import org.openqa.selenium.By;

importar org.openqa.selenium.JavascriptExecutor;

importar org.openqa.selenium.Keys;

importar org.openqa.selenium.Platform;

importar org.openqa.selenium.WebDriver;

importar org.openqa.selenium.remote.DesiredCapabilities;

importar org.openqa.selenium.remote.RemoteWebDriver;

importar org.openqa.selenium.support.ui.WebDriverWait;

importar org.testng.annotations.AfterTest;

importar org.testng.Assert;

importar org.testng.annotations.DataProvider;

importar org.testng.annotations.Test;

importar java.net.MalformedURLException;

import java.net.URL;

import java.util.concurrent.TimeUnit;

clase pública Cross_browser {

Public static final String username = "goyalh27";

public static final String auth_key = "Q2Obz2PLfTxnwXCRSKe2N7wg28j58CzNOED9wKntdxUxbe3ZBK";

controlador público RemoteWebDriver;

URL de cadena final estática pública = "@ hub.lambdatest.com / wd / hub";

@Test (dataProvider = "Set_Environment")

Inicio de sesión público vacío (Platform Platform_used, String browser_Name, String browser_Version)

{

Capacidad DesiredCapabilities = nuevas DesiredCapabilities ();

capacity.setPlatform (platform_used);

capacity.setBrowserName (browser_Name);

capacity.setVersion (browser_Version);

capacity.setCapability ("build", "cross_browser");

capacity.setCapability ("name", "cross_browser");

capacity.setCapability ("network", true); // para habilitar los registros de red

capacity.setCapability ("visual", true); // para habilitar capturas de pantalla

capacity.setCapability ("video", true); // para habilitar el video

capacity.setCapability ("console", true); // para habilitar los registros de la consola

tratar {

controlador = nuevo RemoteWebDriver (nueva URL ("https: //" + nombre de usuario + ":" + auth_key + URL), capacidad);

}

captura (excepción e) {

System.out.println ("URL de cuadrícula no válida" + e.getMessage ());

}

tratar

{

driver.manage (). timeouts (). implitlyWait (30, TimeUnit.SECONDS);

driver.get ("https://www.google.com/");

driver.findElement (By.xpath (?// input[@class=?gLFyfgsfi?]?)). SendKeys (" lambdatest ", Keys.ENTER);

driver.findElement (By.xpath (?// *[@id=?rso?]/ div[1]/ div / div / div / div / div[1]/ a ?)). click ();

Cadena url = driver.getCurrentUrl ();

Assert.assertEquals ("https://www.lambdatest.com/", url);

System.out.println ("Estoy en la página Lamdatest");

}

captura (excepción e) {

System.out.println (e.getMessage ());

}

}

@DataProvider (name = ?Set_Environment?, parallel = true)

Objeto público[][] obtener datos(){

Objeto[][] Browser_Property = nuevo objeto[][]{

{Platform.WIN8, "chrome", "70.0"},

{Platform.WIN8, "chrome", "71.0"}

};

volver Browser_Property;

}

@Después de la prueba

vacío público tearDown () {

driver.quit ();

}

}

En este código, hemos definido las variables que contienen el nombre de usuario, la clave de acceso y la URL a la que se debe conectar mientras utiliza RemoteWebdriver. Además, el nombre del método 'getdata' se define con la anotación del proveedor de datos donde se mencionan diferentes navegadores, sus versiones y diferentes plataformas en las que probaremos el script.

Aquí hemos establecido el atributo paralelo a verdadero para realizar pruebas paralelas en Selenium con TestNG en conjuntos definidos. Además de la secuencia de comandos, también necesitará un archivo xml para realizar pruebas paralelas. A continuación se muestra el archivo xml que usaremos para las pruebas paralelas en el marco de TestNG.

http://testng.org/testng-1.0.dtd?>

2. Ahora, usaremos el método anotado @test que tomará los parámetros para regresar por el método del proveedor de datos. En este método, la clase de capacidad deseada se utilizará para establecer el nombre del navegador, la versión del navegador, la plataforma en la que desea realizar pruebas paralelas y algunos otros atributos importantes. Puede configurar las capacidades deseadas para su código usando Generador de capacidad LambdaTest.

3. Una vez que su script esté completo sin errores, puede ejecutar pruebas paralelas: haga clic con el botón derecho en TestNG.xml archivar y seleccionar Ejecutar en rejilla de selenio. Como se dijo anteriormente, no podrá ver las acciones en el navegador, pero el estado de prueba paralelo se mostrará en el panel de control de LambdaTest una vez que se complete el proceso de prueba.

4. El panel de análisis de automatización mostrará los resultados de las pruebas realizadas en diferentes plataformas. Puede ver el video para verificar los pasos realizados por su script.

6. El panel de control de LambdaTest mostrará un resumen de todo el proceso de prueba paralelo como se muestra a continuación:

Como se mencionó anteriormente, LambdaTest Selenium Grid proporciona capturas de pantalla automatizadas para probar sus scripts, de modo que puede ver las capturas de pantalla de la cantidad de pruebas aprobadas o fallidas, la cantidad de suites de automatización, la solicitud de envío y su respuesta, etc. en la pestaña de automatización. De esta manera, puede realizar rápidamente pruebas paralelas para su aplicación web en LambdaTest Selenium Grid.

Conclusión

Las pruebas paralelas de su aplicación web son cruciales cuando los usuarios acceden a su sitio web a través de diferentes plataformas, navegadores o dispositivos. Pero, las pruebas manuales no son el enfoque correcto para cubrir todas estas plataformas en una sola vez. Por lo tanto, elegir la automatización sobre las pruebas manuales es una opción inteligente. En este artículo, hablamos sobre Selenium Grid en línea, cómo es beneficioso para las pruebas de automatización, y realizamos pruebas paralelas con dos navegadores a la vez utilizando la cuadrícula de selenio LambdaTest en línea.

Califica este Articulo!