Cómo configurar el selenio con cromedriver en Ubuntu 22.04, 20.04 y 18.04

Cómo configurar el selenio con cromedriver en Ubuntu 22.04, 20.04 y 18.04

Este tutorial lo ayudará a configurar Selenium con ChromedRiver en Ubuntu y LinuxMint Systems. Este tutorial también incluye un ejemplo de un programa Java que utiliza un servidor independiente de Selenium y Chromedriver y ejecuta un caso de prueba de muestra.

Lea esto: Configurar Selenium con Firefox en Ubuntu

Paso 1 - Requisitos previos

Ejecute los siguientes comandos para instalar los paquetes requeridos en su sistema. Aquí XVFB (x virtual frameBuffer) es un servidor de visualización en memoria para un sistema operativo similar a UNIX (E.gramo., Linux). Implementa el protocolo del servidor de visualización X11 sin ninguna pantalla. Esto es útil para aplicaciones CLI como CI Services.

Actualización de sudo apto  sudo apt instalación -y unzip xvfb libxi6 libgconf-2-4  

Además, instale Java en su sistema. Instale Oracle Java 8 en su sistema o usemos el comando a continuación para instalar OpenJDK.

sudo apt instalación predeterminado-jdk  

Paso 2 - Instale Google Chrome

Ahora instale el último paquete de Google Chrome en su sistema utilizando los comandos de lista a continuación. La función sin cabeza de Google Chrome abre puertas multipados para la automatización.

sudo curl -ss -o -https: // dl -ssl.Google.com/linux/linux_signing_key.pub | Atrás de la tecla APT  sudo bash -c "echo 'deb [arch = amd64] http: // dl.Google.com/linux/chrome/deb/stable main '>>/etc/apt/fuentes.lista.d/google-chrome.lista"  actualización de sudo apt -y  sudo apt -y instalar google-chrome-estable  

Paso 3 - Instalación de ChromedRiver

También debe configurar ChromedRiver en su sistema. ChromedRiver es un servidor independiente que implementa el protocolo de cable de Webdriver para el cromo. WebDriver es una herramienta de código abierto para las pruebas automatizadas de aplicaciones web en múltiples navegadores.

Descubra la versión de Google Chrome instalada en su sistema.

Google-Chrome-Versión  
Salida Google Chrome 94.0.4606.71 

A continuación, visite la página de descarga de ChromedRiver y descargue la versión coincidente de cromedríguico en tu sistema.

En mi caso, Google Chrome 94 se está ejecutando en mi sistema. Así que descarga el siguiente archivo. Debe asegurarse de descargar la versión correcta de un archivo:

wget https: // cromedriver.almacenamiento.Googleapis.com/94.0.4606.61/Chromedriver_Linux64.cremallera  Unzip Chromedriver_Linux64.cremallera  

Puede encontrar el último ChromedRiver en su página de descarga oficial. Ahora ejecute los comandos a continuación para configurar ChromedRiver en su sistema.

sudo MV Chromedriver/usr/bin/cromedriver  Root de chown de sudo: raíz/usr/bin/cromedriver  sudo chmod +x/usr/bin/cromedriver  

Paso 4 - Descargue los archivos JAR requeridos

Se requiere que el servidor de Selenium ejecute Selenium WebDrivers remoto. Debe descargar el archivo jar de servidor independiente de Selenium utilizando los comandos a continuación o visitar aquí para encontrar la última versión del archivo jar.

wget https: // liberación de selenio.almacenamiento.Googleapis.com/3.141/selenio-server-standalone-3.141.59.frasco  MV Selenium-server-Standalone-3.141.59.jar selenio-server-sandalone.frasco  

Además, descargue el testng-6.8.7.frasco Archivo a su sistema.

wget http: // www.java2s.com/code/jardownload/testng/testng-6.8.7.frasco.cremallera  descomparar testng-6.8.7.frasco.cremallera  

Paso 5 - Inicie Chrome a través de Selenium Server

La configuración de su servidor está lista. Inicie Chrome a través de un servidor de selenio independiente utilizando la utilidad XVFB.

Ejecute Chrome a través de Selenium Server

Java -Dwebdriver de XVFB.cromo.controlador =/usr/bin/Chromedriver -jar selenium-server-standalone.frasco  

Usar -depurar Opción al final del comando para iniciar el servidor en modo de depuración.

Tú también puedes Comience el cromedriver sin cabeza escribiendo el siguiente comando en la terminal.

cromedriver --Url-base =/wd/hub  

Su servidor de selenio ahora se está ejecutando con Chrome. Use este servidor para ejecutar sus casos de prueba escritos en Selenium utilizando el navegador web Google Chrome. El siguiente paso es un paso opcional y no depende del paso 5.

Paso 6 - Programa Java de muestra (opcional)

Este es un paso opcional. Describe ejecutar un solo caso de prueba utilizando un servidor independiente de Selenium y ChromedRiver. Creemos un programa Java utilizando el servidor de Selenium y el controlador Chrome. Este programa Java abrirá una URL de sitio web especificada y verificará si una cadena definida está presente en la página web o no.

Cree un programa Java editando un archivo en un editor de texto.

vim tecadminseleniumtest.Java  

Agregue el contenido a continuación al archivo.

importar java.IO.Ioexception; Org de importación.abierto.selenio.Webdriver; Org de importación.abierto.selenio.cromo.Cromeoptions; Org de importación.abierto.selenio.cromo.Cromedriver; Org de importación.prueba.anotaciones.Prueba; clase pública TecadminseleniumTest public static void main (string [] args) lanza ioexception, interruptedexception sistema.setProperty ("WebDriver.cromo.controlador ","/usr/bin/Chromedriver "); ChromeOptions ChromeOptions = new ChromeOptions (); ChromeOptions.addarguments ("-sin cabeza"); cromeoptions.addarGuments ("-no-sandbox"); WebDriver Driver = new ChromedRiver (ChromeOptions); conductor.Get ("https: // google.com "); hilo.dormir (1000); if (controlador.getPageSource ().contiene ("me siento afortunado")) sistema.afuera.println ("pase"); else sistema.afuera.println ("Fail"); conductor.abandonar();
1234567891011121314151617181920212223242526272829importar java.IO.Ioexception; Org de importación.abierto.selenio.WebDriver; importar orgía.abierto.selenio.cromo.Cromeoptions; importar orgía.abierto.selenio.cromo.Cromedriver; importar orgía.prueba.anotaciones.Prueba; clase pública TecadminseleniumTest public static void main (string [] args) lanza ioexception, interruptedexception sistema.setProperty ("WebDriver.cromo.controlador ","/usr/bin/Chromedriver "); ChromeOptions ChromeOptions = new ChromeOptions (); ChromeOptions.addarguments ("-sin cabeza"); cromeoptions.addarGuments ("-no-sandbox"); WebDriver Driver = new ChromedRiver (ChromeOptions); conductor.Get ("https: // google.com "); hilo.dormir (1000); if (controlador.getPageSource ().contiene ("me siento afortunado")) sistema.afuera.println ("pase"); else sistema.afuera.println ("Fail"); conductor.abandonar();

Puede cambiar la URL "https: // google.com ”con cualquier otra URL de su elección, luego también cambie la cadena de búsqueda como" Me siento afortunado "usado en el programa Java anterior. Guarde su programa Java y ejecútelo. Primero, debe establecer la variable de entorno Java ClassPath, incluida la selenio-server-sandalone.frasco y testng-6.8.7.frasco. Luego compile el programa Java y ejecutarlo.

Exportar classpath = ".: selenio-server-sandalone.JAR: Testng-6.8.7.frasco"  Javac Tecadmineniumtest.Java  Java Tecadmineniumtest  

Verá los resultados a continuación. Si se encuentra la cadena de búsqueda definida, recibirá el mensaje "Pase" y si la cadena no se encuentra en la página web, recibirá el mensaje "Fail" en la pantalla.