Header Ads Widget

Ticker

6/recent/ticker-posts

¿Cómo actualizar de Selenium 3 a Selenium 4?

Selenium 4, la última versión del marco de Selenium, se ha convertido en la comidilla de la ciudad desde su anuncio en 2018. La emoción en torno a Selenium 4 es evidente ya que está repleto de una serie de nuevas características y mejoras que su predecesor. Aunque no hay un anuncio oficial sobre el lanzamiento 'final' de Selenium 4, los usuarios de Selenium y los entusiastas de la automatización de pruebas ya han comenzado a explorar y experimentar descargando la versión Alpha de Selenium 4 .

Si está pensando en actualizar de Selenium 3 a Selenium 4, este tutorial de Selenium 4 lo ayudará a dar el salto de versión. Para las personas que esperan al margen para probar Selenium 4, la comparación entre Selenium 3 y Selenium 4 podría entusiasmarlos a probar Selenium 4 mucho antes de lo que esperaba☺.

Aunque Selenium tiene varios enlaces de lenguaje como Java, C #, Python, JavaScript, Ruby y PHP, este tutorial de Selenium 4 se enfocaría en instalar enlaces de Java.

TABLA DE CONTENIDOS

Selenio 3 vs Selenio 4

Preguntándose '¿Qué singularidad tiene Selenium 4 en comparación con Selenium 3?' Bueno, para responder a esa pregunta, haremos un recorrido rápido por las novedades que ofrece Selenium 4 en esta sección del tutorial de Selenium 3 frente a Selenium 4:

Estandarización de Selenium WebDriver W3C

En Selenium 3, el JSON Wire Protocol era el modo de comunicación principal entre el código de prueba y el navegador web. Los principales controladores de navegador como ChromeDriver, GeckoDriver, etc., siguen el estándar W3C. Esto resultó en la codificación y decodificación de solicitudes según el protocolo W3C.

Debajo del capó, Selenium 4 usa el protocolo WebDriver W3C. Esto elimina la sobrecarga de codificación y decodificación que era necesaria con JSON Wire Protocol en Selenium 3. Este importante cambio arquitectónico dará como resultado pruebas de navegador cruzadas menos inestables y más estables (es decir, pruebas en diferentes versiones y tipos de navegadores) con Selenium 4. Puede consultar nuestra cobertura detallada sobre Selenium W3C WebDriver en Selenium 4 para obtener más información.

Selenio 4 IDE

El IDE en Selenium 4 es mucho más que una herramienta rudimentaria de prueba de reproducción y grabación. Junto con Firefox, está disponible para el navegador Chrome (como una extensión de Chrome).

La herramienta SIDE Runner en Selenium 4 IDE le permite ejecutar pruebas de Selenium en paralelo en Selenium Grid local y Selenium Grid basado en la nube. La función 'exportar' le permite exportar las pruebas registradas en lenguajes compatibles con Selenium como Python, C #, Java y más. Selenium 4 IDE es una oferta renovada y súper útil disponible solo en Selenium 4.

Rejilla de selenio optimizada

Si es un usuario de Selenium 3, debe ser consciente de lo doloroso que es iniciar los frascos Hub y Node cada vez que desee realizar pruebas de automatización en Grid. La ejecución de pruebas distribuidas está lista para cambiar con el Selenium Grid optimizado en Selenium 4.

En Selenium Grid 4, Hub y Node se empaquetan en un solo archivo jar. Selenium Grid 4 tiene una infraestructura más escalable y rastreable que admite cuatro procesos: enrutador, mapa de sesión, distribuidor y nodo. La GUI mejorada y el soporte integrado para Docker son algunas de las ventajas adicionales que obtiene en Selenium Grid 4 .

DevTools de Chrome

En Selenium 4, hay soporte nativo para Chrome DevTools Protocol (CDP) a través de la interfaz DevTools. Las API de la interfaz de Chrome DevTools facilitarían mucho el diagnóstico de problemas y la edición sobre la marcha de las páginas.

El soporte nativo de CDP ayudará a emular la geolocalización y las condiciones de red en Selenium 4 con más facilidad. Con Selenium 4, puede probar el producto web creado para una audiencia global emulando la geolocalización en el código. Al mismo tiempo, también puede comprobar el rendimiento del producto en diferentes condiciones de red (por ejemplo, 3G, 4G, etc.).

Localizadores relativos

En Selenium 3, debe usar una serie de comandos de búsqueda en el WebElement apropiado para ubicar sus elementos cercanos. No hubo atajos para encontrar un elemento que esté arriba / abajo / a la derecha de / etc. de un WebElement en particular.

Los localizadores relativos (arriba, abajo, toRightOf, toLeftOf y cerca) que se introdujeron recientemente en Selenium 4 Alpha ayudan a ubicar elementos web 'relativos' a un elemento particular en el DOM. Nuestra cobertura detallada de localizadores relativos en Selenium 4 podría ayudarlo a comenzar con esta función disponible exclusivamente en Selenium 4.

Además de estas grandes mejoras en Selenium 4, está repleto de otras características nuevas:

  • La API TakeElementScreensho t le permite capturar una captura de pantalla de un WebElement en particular en la página.
  • La introducción de la API newWindow ayuda en la creación simplificada de una nueva ventana ( WindowType.WINDOW ) o pestaña ( WindowType.TAB ).
  • Proceso de depuración optimizado y acelerado.

En lo que respecta a la comparación de Selenium 3 frente a Selenium 4, la experiencia general con Selenium 4 (Alpha) es mucho más superior a Selenium 3. Este es uno de los principales factores de motivación para descargar Selenium 4 (Alpha) y tener en tus manos las increíbles funciones que ofrece Selenium 4.

Actualice de Selenium 3 a Selenium 4

Al momento de escribir este artículo, Selenium 4.0.0-alpha-7 era la última versión de Selenium 4 (Alpha) disponible para descargar en el sitio web de Selenium. Selenium 4 para diferentes enlaces de idiomas se muestra a continuación:

Idioma

Selenium 4 (Alpha) Enlace de descarga

Java

https://selenium-release.storage.googleapis.com/4.0-alpha-7/selenium-java-4.0.0-alpha-7.zip

Pitón

https://pypi.org/project/selenium/4.0.0.a7/

C#

https://www.nuget.org/api/v2/package/Selenium.WebDriver/4.0.0-alpha07

Rubí

https://rubygems.org/gems/selenium-webdriver/versions/4.0.0.alpha7

Selenium con Maven: actualice de Selenium 3 a Selenium 4

Si está utilizando Selenium con Java, es probable que utilice Selenium con Maven para administrar las dependencias asociadas con su proyecto de Selenium. Para los usuarios de Selenium con Maven, todo lo que necesitan para actualizar de Selenium 3 a Selenium 4 es cambiar la versión de Selenium a 4 en pom.xml.

El repositorio de Maven Central es la ubicación ideal para buscar dependencias o bibliotecas para todas las versiones. Como se muestra arriba, descargamos Maven Dependency for Selenium 4 Java y agregamos lo mismo en pom.xml

Junto con Selenium 4 Java, también agregamos los paquetes Selenium 4 para selenium-chrome-driver y selenium-remote-driver en el archivo POM (pom.xml).

Selenium con Gradle: actualice de Selenium 3 a Selenium 4

Gradle es una herramienta de compilación popular que se utiliza para aplicaciones basadas en Java. Los scripts de compilación en Gradle están escritos en Groovy o Kotlin DSL. Si está utilizando Gradle para su proyecto Selenium Java, las dependencias necesarias deben configurarse en el archivo build.gradle, que se coloca en el nivel raíz (del proyecto).

Las dependencias necesarias para descargar deben agregarse en build.gradle. Al igual que Maven, el repositorio central de Maven debe usarse para encontrar las dependencias necesarias para el proyecto.

Aquí está el archivo de compilación (build.gradle) para un proyecto de Gradle donde hemos usado la versión 4.0.0-alpha-7 del enlace Selenium Java. Dado que estamos usando el  marco TestNG  en la implementación, hemos agregado las otras dependencias en build.gradle.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
dieciséis
17
18
19
20
21
22
23
24
25
26
27
plugins {
    id 'java'
}
  
group 'org.demo'
version '1.0-SNAPSHOT'
  
sourceCompatibility = 1.8
  
repositories {
    mavenCentral()
}
  
dependencies {
   compile group: 'org.seleniumhq.selenium', name: 'selenium-java',
            version: '4.0.0-alpha-7'
    compile group: 'org.seleniumhq.selenium', name: 'selenium-chrome-driver',
            version: '4.0.0-alpha-7'
    compile group: 'org.seleniumhq.selenium', name: 'selenium-remote-driver',
            version: '4.0.0-alpha-7'            
    compile group: 'org.testng', name: 'testng',
            version: '6.14.3'
}
  
test {
    useTestNG()
}

Configuración de prueba: demostración de la actualización de Selenium 3 a Selenium 4

Para demostrar cómo actualizar de Selenium 3 a Selenium 4, tomamos un ejemplo de prueba en varios navegadores donde se realiza la búsqueda de "LambdaTest" en Google. La prueba se realiza en el navegador Chrome.

Escenario de prueba

  1. Ir a Google
  2. Buscar LambdaTest
  3. Haga clic en el primer resultado de búsqueda
  4. Confirme si el título de la página no coincide con el título de la página esperado

Implementación

Aquí está la estructura general del proyecto en IntelliJ IDEA :

Descarga de Selenium 4 usando Maven

En un proyecto de Maven, el archivo pom.xml consta de los detalles necesarios sobre la configuración, las dependencias y más. Junto con Selenium 4 Java, también hemos agregado las dependencias Selenium 4 Chrome Driver y Selenium 4 Remote Driver en pom.xml.

Como usamos el marco TestNG, los detalles de los escenarios de prueba se agregan en testng.xml.

Configurando Gradle

El mismo proyecto se usa para demostrar la actualización de Selenium 3 a Selenium 4 usando Gradle. Las dependencias, los complementos y los scripts de compilación deben estar disponibles en el archivo build.gradle, que se coloca en el nivel raíz del proyecto.

Para un resumen rápido de Gradle, puede consultar la cobertura detallada de Gradle (con JUnit) en nuestro blog anterior aquí . Las dependencias de Selenium 4 Java, Selenium Chrome Driver (4.0.0-alpha-7), Selenium Remote Driver (4.0.0-alpha-7) y TestNG (6.14.3) se agregan en build.gradle.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
dieciséis
17
18
19
20
21
22
23
24
25
26
27
plugins {
    id 'java'
}
  
group 'org.demo'
version '1.0-SNAPSHOT'
  
sourceCompatibility = 1.8
  
repositories {
    mavenCentral()
}
  
dependencies {
    compile group: 'org.seleniumhq.selenium', name: 'selenium-java',
            version: '4.0.0-alpha-7'
    compile group: 'org.seleniumhq.selenium', name: 'selenium-chrome-driver',
            version: '4.0.0-alpha-7'
    compile group: 'org.seleniumhq.selenium', name: 'selenium-remote-driver',
            version: '4.0.0-alpha-7'            
    compile group: 'org.testng', name: 'testng',
            version: '6.14.3'
}
  
test {
    useTestNG()
}

Ejecución

Para ejecutar el escenario de prueba, haga clic con el botón derecho en testng.xml y seleccione "ejecutar ... \ testng.xml".

La instantánea de ejecución a continuación muestra que se creó una instancia de Chrome WebDriver y que el escenario de prueba se ejecutó correctamente.

Para Gradle, usamos la opción de línea de comando (prueba de Gradle) para activar la prueba en el proyecto. Como el escenario de prueba (test_search_demo) se encuentra en el archivo de clase DemoTest, ejecutamos la prueba usando el siguiente comando (después de navegar a la carpeta raíz del proyecto):

1
gradle test --tests DemoTest.test_search_demo

Como se ve en la instantánea de ejecución, la prueba se ejecutó correctamente.

Actualice de Selenium 3 a Selenium 4 utilizando la cuadrícula de selenio basada en la nube

Las ventajas que ofrece Selenium 4 se pueden aprovechar mejor en un Selenium Grid, donde las pruebas se pueden ejecutar en paralelo en los nodos apropiados. El selenio 4 cuadrícula proporciona una serie de nuevas características que facilitan y aceleran selenio automatización de pruebas web.

Un Selenium Grid basado en la nube como LambdaTest ofrece una escalabilidad, confiabilidad y seguridad muy necesarias, difíciles de lograr con un Selenium Grid local. Las pruebas de Selenium en la nube ayudan a lograr una mejor cobertura de navegador, cobertura de prueba y cobertura de prueba, ya que se pueden ejecutar varias pruebas en paralelo en Selenium Grid basado en la nube.

Portamos la prueba demostrada anteriormente para que se ejecute en Selenium 4 Grid de LambdaTest. Para comenzar, generamos las capacidades deseadas para el enlace del lenguaje Java utilizando LambdaTest Capabilities Generator .

Como parte de la configuración, el método implementado bajo la anotación @BeforeTest utilizará RemoteWebDriver en lugar del controlador de Chrome local. A continuación se muestra el DemoTest.java actualizado donde usamos LambdaTest Selenium Grid para ejecutar la prueba:

La información de ejecución está disponible en el panel de automatización de LambdaTest. Como se ve a continuación, la prueba se ejecutó con éxito en LambdaTest Selenium Grid:

Eso es todo amigos

Selenium 4 ofrece varias características nuevas como localizadores relativos, Chrome DevTools, Selenium Grid mejorado y más, lo que lo convierte en una valiosa actualización sobre Selenium 3. En este tutorial de Selenium 4, vimos en detalle cómo actualizar de Selenium 3 a Selenium 4 para enlaces de lenguaje Java. Si está utilizando Maven para el proyecto, la actualización a Selenium 4 se trata de obtener el Selenium 4 del Repositorio de Maven y agregar lo mismo en pom.xml.

Además de Java, es fácil actualizar a Selenium 4 para lenguajes compatibles con Selenium como Python, C #, PHP, Ruby y JavaScript. En lo que respecta a Selenium 3 frente a Selenium 4, Selenium 4 (que todavía se encuentra en la etapa Alpha) tiene una gran ventaja sobre su predecesor.

Si está usando Selenium 4, ¿ha probado Selenium con Maven? Comparta su experiencia en la sección de comentarios. Además, háganos saber cuál es su 'función de referencia' en Selenium 4.

Feliz prueba de automatización Happy

Preguntas frecuentes

¿Qué hay de nuevo en el selenio?

Uno de los cambios más notables en Selenium es la adopción del protocolo de controlador web estándar W3C, que facilita la interacción entre los controladores del navegador y el controlador web Selenium. La exportación de código ahora está disponible para todos los enlaces de idiomas oficiales con un mejor mecanismo de flujo de control para escribir mejores pruebas usando las condiciones "while" y "if", y más.

¿Cuál es la diferencia entre selenio 2 y selenio 3?

Selenium 2 es la combinación de WebdDriver + SeleniumRC basada en el núcleo de Selenium, mientras que Selenium 3 admite Selenium RC indirectamente a través de un Webdriver back-end sin núcleo de Selenium.

¿Cuál es la versión actual de selenio?

La última versión de Selenium es Selenium 4.0. 0 Alpha 5, que se lanzó en marzo de 2020.

Publicar un comentario

0 Comentarios