GNU/Linux >> Tutoriels Linux >  >> Debian

Comment configurer Selenium avec ChromeDriver sur Debian 10/9/8

Ce didacticiel vous aidera à configurer Selenium avec ChromeDriver sur Debian 9 et Debian 8. Ce didacticiel comprend également un exemple de programme Java qui utilise le serveur autonome Selenium et ChromeDriver et exécute un exemple de cas de test.

Xvfb (X virtual framebuffer) est un serveur d'affichage en mémoire pour un système d'exploitation de type UNIX (par exemple, Linux). Il implémente le protocole de serveur d'affichage X11 sans aucun affichage. Ceci est utile pour les applications CLI telles que le service CI.

Étape 1 - Prérequis

Connectez-vous à votre système Debian en tant qu'utilisateur privilégié sudo et exécutez les commandes suivantes pour installer les packages requis sur votre système.

sudo apt-get update
sudo apt-get install -y curl unzip xvfb libxi6 libgconf-2-4

Installez également Java sur votre système. Utilisez la commande ci-dessous pour installer OpenJDK sur votre système, si vous aimez installer Oracle Java 8 sur votre système Debian.

sudo apt-get install default-jdk 

Étape 2 – Installer Google Chrome

Installez maintenant la dernière version de Google Chrome sur votre système Debian à l'aide des commandes ci-dessous. La fonctionnalité sans tête de Google Chrome ouvre plusieurs portes pour l'automatisation.

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/sources.list.d/google-chrome.list
sudo apt-get -y update
sudo apt-get -y install google-chrome-stable

Étape 3 – Installer le pilote Chrome

ChromeDriver est un serveur autonome qui implémente le protocole filaire de WebDriver pour Chromium. Le WebDriver est un outil open source pour le test automatisé d'applications Web sur plusieurs navigateurs.

wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip
unzip chromedriver_linux64.zip

Vous pouvez trouver le dernier ChromeDriver sur sa page de téléchargement officielle. Exécutez maintenant les commandes ci-dessous pour configurer ChromeDriver sur votre système.

sudo mv chromedriver /usr/bin/chromedriver
sudo chown root:root /usr/bin/chromedriver
sudo chmod +x /usr/bin/chromedriver

Étape 4 - Télécharger les fichiers Jar requis

Le serveur Selenium est requis pour exécuter les WebDrivers Selenium distants. Vous devez télécharger le fichier jar du serveur autonome Selenium à l'aide des commandes ci-dessous ou visiter ici pour trouver la dernière version du fichier Jar.

wget https://selenium-release.storage.googleapis.com/3.13/selenium-server-standalone-3.13.0.jar

Téléchargez également le fichier testng-6.8.7.jar sur votre système.

wget http://www.java2s.com/Code/JarDownload/testng/testng-6.8.7.jar.zip
unzip testng-6.8.7.jar.zip

Étape 5 – Démarrer Chrome via le serveur Selenium

La configuration de votre serveur est prête. Démarrez Chrome via un serveur de sélénium autonome à l'aide de l'utilitaire Xvfb.

Exécuter Chrome via Selenium Server

xvfb-run java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar selenium-server-standalone.jar

Utilisez -debug option à la fin de la commande pour démarrer le serveur en mode débogage.

Vous pouvez également Démarrer Headless ChromeDriver en tapant la commande ci-dessous sur le terminal.

chromedriver --url-base=/wd/hub

Votre serveur Selenium fonctionne maintenant avec Chrome. Utilisez ce serveur pour exécuter vos cas de test écrits en Selenium à l'aide du navigateur Web Google Chrome. L'étape suivante est une étape facultative et ne dépend pas de l'étape 5.

Étape 6 - Exemple de programme Java (facultatif)

Ceci est une étape optionnelle. Il décrit l'exécution d'un cas de test unique à l'aide du serveur autonome Selenium et de ChromeDriver. Créons un programme Java en utilisant le serveur Selenium et le pilote Chrome. Ce programme Java ouvrira une URL de site Web spécifiée et vérifiera si la chaîne définie est présente sur la page Web ou non.

Créez un programme Java en éditant un fichier dans un éditeur de texte.

vim TecAdminSeleniumTest.java

Ajoutez le contenu ci-dessous au fichier.

Java
123456789101112131415161718192021222324252627 importer java.io.IOException ; importer org.openqa.selenium.WebDriver ; importer org.openqa.selenium.chrome.ChromeOptions ; importer org.openqa.selenium.chrome.ChromeDriver ; importer org.testng.annotations.Test ; public class TecAdminSeleniumTest { public static void main(String[] args) throws IOException, InterruptedException { System.setProperty("webdriver.chrome.driver", "/usr/bin/chromedriver"); ChromeOptions chromeOptions =new ChromeOptions(); chromeOptions.addArguments("--headless"); chromeOptions.addArguments("--no-sandbox"); Pilote WebDriver =nouveau ChromeDriver (chromeOptions); driver.get("https://google.com"); Thread.sleep(1000); if (driver.getPageSource().contains("J'ai de la chance")) { System.out.println("Pass"); } else { System.out.println("Fail"); } pilote.quit(); }}

Vous pouvez changer l'URL "https://google.com" avec n'importe quelle autre URL de votre choix, puis également modifier la chaîne de recherche comme "J'ai de la chance" utilisée dans le programme Java ci-dessus. Enregistrez votre programme Java et exécutez-le. Tout d'abord, vous devez définir la variable d'environnement Java CLASSPATH, y compris selenium-server-standalone.jar et testng-6.8.7.jar. Compilez ensuite le programme java et exécutez-le.

export CLASSPATH=".:selenium-server-standalone.jar:testng-6.8.7.jar"
javac TecAdminSeleniumTest.java
java TecAdminSeleniumTest

Vous verrez les résultats comme ci-dessous. Si la chaîne de recherche définie est trouvée, vous obtiendrez le message "Pass" et si la chaîne n'est pas trouvée sur la page Web, vous obtiendrez le message "Fail" à l'écran.


Debian
  1. Comment configurer le serveur Rsyslog sur Debian 11

  2. Comment installer les outils de développement sur Debian 10/9/8

  3. Comment installer Apache Maven sur Debian 10/9/8

  4. Comment installer Grunt sur Debian 9/8

  5. Comment installer l'agent Zabbix sur Debian 10/9/8

Comment installer Jenkins sur Debian 10/9/8

Configuration initiale du serveur avec Debian 10/9/8

Configuration initiale du serveur avec Debian 11

Comment configurer LAMP avec Debian 11

Comment configurer le serveur Samba avec Debian 11

Comment configurer le serveur OpenLDAP sur Debian 10