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.