Dieses Tutorial hilft Ihnen bei der Einrichtung von Selenium mit ChromeDriver unter Debian 9 und Debian 8. Dieses Tutorial enthält auch ein Beispiel für ein Java-Programm, das den eigenständigen Selenium-Server und ChromeDriver verwendet und einen Beispieltestfall ausführt.
Xvfb (X Virtual Framebuffer) ist ein In-Memory-Anzeigeserver für ein UNIX-ähnliches Betriebssystem (z. B. Linux). Es implementiert das X11-Anzeigeserverprotokoll ohne Anzeige. Dies ist hilfreich für CLI-Anwendungen wie den CI-Dienst.
Schritt 1 – Voraussetzungen
Melden Sie sich als sudo-privilegierter Benutzer bei Ihrem Debian-System an und führen Sie die folgenden Befehle aus, um die erforderlichen Pakete auf Ihrem System zu installieren.
sudo apt-get update sudo apt-get install -y curl unzip xvfb libxi6 libgconf-2-4
Installieren Sie außerdem Java auf Ihrem System. Verwenden Sie den folgenden Befehl, um OpenJDK auf Ihrem System zu installieren. Wenn Sie Oracle Java 8 auf Ihrem Debian-System installieren möchten.
sudo apt-get install default-jdk
Schritt 2 – Google Chrome installieren
Installieren Sie jetzt das neueste Google Chrome auf Ihrem Debian-System mit den folgenden Befehlen. Die Headless-Funktion von Google Chrome öffnet mehrere Türen für die Automatisierung.
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
Schritt 3 – ChromeDriver installieren
ChromeDriver ist ein eigenständiger Server, der das Wire-Protokoll von WebDriver für Chromium implementiert. Der WebDriver ist ein Open-Source-Tool zum automatisierten Testen von Web-Apps in mehreren Browsern.
wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip unzip chromedriver_linux64.zip
Den neuesten ChromeDriver finden Sie auf der offiziellen Download-Seite. Führen Sie nun die folgenden Befehle aus, um ChromeDriver auf Ihrem System zu konfigurieren.
sudo mv chromedriver /usr/bin/chromedriver sudo chown root:root /usr/bin/chromedriver sudo chmod +x /usr/bin/chromedriver
Schritt 4 – Erforderliche JAR-Dateien herunterladen
Der Selenium Server ist erforderlich, um Remote Selenium WebDrivers auszuführen. Sie müssen die JAR-Datei des eigenständigen Selenium-Servers mit den folgenden Befehlen herunterladen oder hier klicken, um die neueste Version der JAR-Datei zu finden.
wget https://selenium-release.storage.googleapis.com/3.13/selenium-server-standalone-3.13.0.jar
Laden Sie außerdem die Datei testng-6.8.7.jar auf Ihr System herunter.
wget http://www.java2s.com/Code/JarDownload/testng/testng-6.8.7.jar.zip unzip testng-6.8.7.jar.zip
Schritt 5 – Chrome über Selenium Server starten
Ihr Server-Setup ist fertig. Starten Sie Chrome über einen eigenständigen Selenium-Server mit dem Xvfb-Dienstprogramm.
Chrome über Selenium Server ausführen
xvfb-run java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar selenium-server-standalone.jar
Verwenden Sie -debug
Option am Ende des Befehls, um den Server im Debug-Modus zu starten.
Sie können auch Headless ChromeDriver starten indem Sie den folgenden Befehl auf dem Terminal eingeben.
chromedriver --url-base=/wd/hub
Ihr Selenium-Server läuft jetzt mit Chrome. Verwenden Sie diesen Server, um Ihre in Selen geschriebenen Testfälle mit dem Google Chrome-Webbrowser auszuführen. Der nächste Schritt ist ein optionaler Schritt und hängt nicht von Schritt 5 ab.
Schritt 6 – Java-Beispielprogramm (optional)
Dies ist ein optionaler Schritt. Es beschreibt die Ausführung eines einzelnen Testfalls mit dem eigenständigen Selenium-Server und ChromeDriver. Lassen Sie uns ein Java-Programm mit dem Selenium-Server und dem Chrome-Treiber erstellen. Dieses Java-Programm öffnet eine angegebene Website-URL und prüft, ob eine definierte Zeichenfolge auf der Webseite vorhanden ist oder nicht.
Erstellen Sie ein Java-Programm, indem Sie eine Datei im Texteditor bearbeiten.
vim TecAdminSeleniumTest.java
Fügen Sie der Datei den folgenden Inhalt hinzu.
Java
123456789101112131415161718192021222324252627 | import java.io.IOException; org.openqa.selenium.WebDriver importieren; org.openqa.selenium.chrome.ChromeOptions importieren; org.openqa.selenium.chrome.ChromeDriver importieren; org.testng.annotations.Test importieren; public class TecAdminSeleniumTest { public static void main(String[] args) löst IOException, InterruptedException { System.setProperty("webdriver.chrome.driver", "/usr/bin/chromedriver"); ChromeOptions chromeOptions =neue ChromeOptions(); chromeOptions.addArguments("--headless"); chromeOptions.addArguments("--no-sandbox"); WebDriver-Treiber =neuer ChromeDriver (chromeOptions); driver.get("https://google.com"); Thread.sleep (1000); if (driver.getPageSource().contains("Ich fühle mich glücklich")) { System.out.println("Pass"); } Else {System.out.println("Fail"); } Fahrer. Beenden (); }} |
Sie können die URL „https://google.com“ durch eine beliebige andere URL Ihrer Wahl ersetzen. Ändern Sie dann auch die Suchzeichenfolge wie „I’m Feeling Lucky“, die im obigen Java-Programm verwendet wird. Speichern Sie Ihr Java-Programm und führen Sie es aus. Zuerst müssen Sie die Java-Umgebungsvariable CLASSPATH einschließlich selenium-server-standalone.jar und testng-6.8.7.jar festlegen. Kompilieren Sie dann das Java-Programm und führen Sie es aus.
export CLASSPATH=".:selenium-server-standalone.jar:testng-6.8.7.jar" javac TecAdminSeleniumTest.java java TecAdminSeleniumTest
Sie werden Ergebnisse wie unten sehen. Wenn die definierte Suchzeichenfolge gefunden wird, erhalten Sie die Meldung „Bestanden“, und wenn die Zeichenfolge auf der Webseite nicht gefunden wird, erhalten Sie die Meldung „Fail“ auf dem Bildschirm.