Cómo configurar Selenium con ChromedRiver en Debian Linux

Cómo configurar Selenium con ChromedRiver en Debian Linux

Este tutorial lo ayudará a configurar Selenium con ChromedRiver en Debian 9 y Debian 8. Este tutorial también incluye un ejemplo de un programa Java que utiliza Selenium Standalone Server y Chromedriver y ejecuta un caso de prueba de muestra.

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.

Paso 1 - Requisitos previos

Inicie sesión en su sistema Debian como usuario privilegiado de sudo y ejecute los siguientes comandos para instalar los paquetes requeridos en su sistema.

sudo apt-get actualización sudo apt-get install -y curl unzip xvfb libxi6 libgconf-2-4 

Además, instale Java en su sistema. Use el siguiente comando para instalar OpenJDK en su sistema, si desea instalar Oracle Java 8 en su sistema Debian.

sudo apt-get instalación predeterminado-jdk 

Paso 2 - Instale Google Chrome

Ahora instale el último Google Chrome en su sistema Debian utilizando los comandos 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 | apt -key add - sudo echo "Deb [arch = amd64] http: // dl.Google.com/linux/chrome/deb/stable main ">>/etc/apt/fuentes.lista.d/google-chrome.Lista de sudo apt-get -y Update sudo apt-get -y instalar google-chrome-estable 

Paso 3 - Instale el cromedriver

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 pruebas automatizadas de aplicaciones web en múltiples navegadores.

wget https: // cromedriver.almacenamiento.Googleapis.com/2.41/Chromedriver_Linux64.Zip 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/Chromedriver Sudo Chown Root: Root/USR/Bin/Chromedriver sudo Chmod +x/usr/bin/Chromedriver 

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.13/selenio-server-standalone-3.13.0.frasco 

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

wget http: // www.java2s.com/code/jardownload/testng/testng-6.8.7.frasco.Zip Unzip 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 el Chrome a través de un servidor de selenio independiente utilizando XVFB Utility.

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 caso de prueba único usando Selenium Standalone Server y ChromedRiver. Creemos un programa Java utilizando el servidor de Selenium y el controlador Chrome. Este programa Java abrirá una URL del sitio web especificada y verá si la cadena definida está presente en la página web o no.

Cree un programa Java editando un archivo en el 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();
123456789101112131415161718192021222324252627importar 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 Selenium-Server-Standalone.jar y testng-6.8.7.frasco. Luego compile el programa Java y ejecutarlo.

Exportar classpath = ".: selenio-server-sandalone.JAR: Testng-6.8.7.Jar "Javac Tecadminseleniumtest.Java Java Tecadminseleniumtest 

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.