Questo tutorial ti aiuterà a configurare Selenium con ChromeDriver su Debian 9 e Debian 8. Questo tutorial include anche un esempio di programma Java che utilizza il server autonomo Selenium e ChromeDriver ed esegue un esempio di test case.
Xvfb (X virtual framebuffer) è un server di visualizzazione in memoria per un sistema operativo simile a UNIX (ad es. Linux). Implementa il protocollo del server di visualizzazione X11 senza alcun display. Ciò è utile per applicazioni CLI come il servizio CI.
Fase 1 – Prerequisiti
Accedi al tuo sistema Debian come utente privilegiato sudo ed esegui i seguenti comandi per installare i pacchetti richiesti sul tuo sistema.
sudo apt-get update sudo apt-get install -y curl unzip xvfb libxi6 libgconf-2-4
Inoltre, installa Java sul tuo sistema. Usa il comando seguente per installare OpenJDK sul tuo sistema, se ti piace installa Oracle Java 8 sul tuo sistema Debian.
sudo apt-get install default-jdk
Passaggio 2:installa Google Chrome
Ora installa l'ultimo Google Chrome sul tuo sistema Debian usando i comandi seguenti. La funzione senza testa di Google Chrome apre più porte per l'automazione.
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
Passaggio 3:installa ChromeDriver
ChromeDriver è un server autonomo che implementa il protocollo wire di WebDriver per Chromium. Il WebDriver è uno strumento open source per il test automatizzato di app Web su più browser.
wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip unzip chromedriver_linux64.zip
Puoi trovare l'ultimo ChromeDriver nella sua pagina di download ufficiale. Ora esegui i comandi seguenti per configurare ChromeDriver sul tuo sistema.
sudo mv chromedriver /usr/bin/chromedriver sudo chown root:root /usr/bin/chromedriver sudo chmod +x /usr/bin/chromedriver
Fase 4:scarica i file jar richiesti
Il server Selenium è necessario per eseguire i driver Web Selenium remoti. Devi scaricare il file jar del server autonomo Selenium utilizzando i comandi seguenti o visitare qui per trovare l'ultima versione del file Jar.
wget https://selenium-release.storage.googleapis.com/3.13/selenium-server-standalone-3.13.0.jar
Inoltre, scarica il file testng-6.8.7.jar sul tuo sistema.
wget http://www.java2s.com/Code/JarDownload/testng/testng-6.8.7.jar.zip unzip testng-6.8.7.jar.zip
Passaggio 5:avvia Chrome tramite Selenium Server
La configurazione del tuo server è pronta. Avvia Chrome tramite un server selenio autonomo utilizzando l'utilità Xvfb.
Esegui Chrome tramite Selenium Server
xvfb-run java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar selenium-server-standalone.jar
Usa -debug
opzione alla fine del comando per avviare il server in modalità debug.
Puoi anche Avviare ChromeDriver Headless digitando il comando seguente sul terminale.
chromedriver --url-base=/wd/hub
Il tuo server Selenium è ora in esecuzione con Chrome. Utilizza questo server per eseguire i casi di test scritti in Selenium utilizzando il browser Web Google Chrome. Il passaggio successivo è un passaggio facoltativo e non dipende dal passaggio 5.
Fase 6 – Esempio di programma Java (opzionale)
Questo è un passaggio facoltativo. Descrive l'esecuzione di un singolo test case utilizzando il server autonomo Selenium e ChromeDriver. Creiamo un programma Java utilizzando il server Selenium e il driver Chrome. Questo programma Java aprirà l'URL di un sito Web specificato e verificherà se la stringa definita è presente nella pagina Web o meno.
Crea un programma Java modificando un file nell'editor di testo.
vim TecAdminSeleniumTest.java
Aggiungi il contenuto seguente al file.
Java
123456789101112131415161718192021222324252627 | import java.io.IOException; import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeOptions;import org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test; public class TecAdminSeleniumTest { public static void main(String[] args) genera IOException, InterruptedException { System.setProperty("webdriver.chrome.driver", "/usr/bin/chromedriver"); ChromeOptions chromeOptions =new ChromeOptions(); chromeOptions.addArguments("--headless"); chromeOptions.addArguments("--no-sandbox"); Driver WebDriver =nuovo ChromeDriver(chromeOptions); driver.get("https://google.com"); Thread.sleep(1000); if (driver.getPageSource().contains("Mi sento fortunato")) { System.out.println("Pass"); } else { System.out.println("Fallito"); } driver.quit(); }} |
Puoi modificare l'URL "https://google.com" con qualsiasi altro URL a tua scelta, quindi modificare anche la stringa di ricerca come "Mi sento fortunato" utilizzata nel programma Java sopra. Salva il tuo programma java ed eseguilo. Innanzitutto, è necessario impostare la variabile di ambiente Java CLASSPATH che include selenium-server-standalone.jar e testng-6.8.7.jar. Quindi compila il programma java ed eseguilo.
export CLASSPATH=".:selenium-server-standalone.jar:testng-6.8.7.jar" javac TecAdminSeleniumTest.java java TecAdminSeleniumTest
Vedrai risultati come di seguito. Se la stringa di ricerca definita è stata trovata, riceverai il messaggio "Pass" e se la stringa non è stata trovata nella pagina web, vedrai il messaggio "Fail" sullo schermo.