Jak skonfigurować selen z Chromedriver na Debian Linux

Jak skonfigurować selen z Chromedriver na Debian Linux

Ten samouczek pomoże Ci skonfigurować Selen z Chromedriver na Debian 9 i Debian 8. Ten samouczek zawiera również przykład programu Java, który korzysta z selenium samodzielnego serwera i chromedriver i uruchamia przykładowy przypadek testowy.

XVFB (X Virtual FrameBuffer) to w pamięci serwer wyświetlacza dla systemu operacyjnego podobnego do UNIX (e.G., Linux). Wdraża protokół serwera X11 Display bez żadnego wyświetlacza. Jest to pomocne w aplikacjach CLI, takich jak usługi CI.

Krok 1 - Wymagania wstępne

Zaloguj się do swojego systemu Debiana jako Użytkownik uprzywilejowany Sudo i wykonaj następujące polecenia, aby zainstalować wymagane pakiety w systemie.

sudo apt-get aktualizacja sudo apt-get instaluj -y curl Unzip xvfb libxi6 libgconf-2-4 

Zainstaluj także Java w swoim systemie. Użyj poniżej polecenia, aby zainstalować OpenJDK w swoim systemie, jeśli lubisz instalować Oracle Java 8 w systemie Debian.

sudo apt-get install default-jdk 

Krok 2 - Zainstaluj Google Chrome

Teraz zainstaluj najnowszy Google Chrome w swoim systemie Debian za pomocą poleceń poniżej. Funkcja Google Chrome bezgłowa otwiera wiele drzwi do automatyzacji.

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/stabilny main ">>/etc/apt/źródła.lista.D/Google-Chrome.Lista sudo apt-get -y aktualizacja sudo apt-get -y instaluj Google-chrome-stabil 

Krok 3 - Zainstaluj Chromedriver

Chromedriver to samodzielny serwer, który wdraża protokół WebDriver do chromu. Webdriver to narzędzie open source do automatycznego testowania aplikacji internetowych w wielu przeglądarkach.

wget https: // chromedriver.składowanie.Googleapis.com/2.41/Chromedriver_linux64.Zip Unzip Chromedriver_linux64.zamek błyskawiczny 

Najnowszy Chromedriver można znaleźć na oficjalnej stronie pobierania. Teraz wykonaj poniższe polecenia, aby skonfigurować Chromedriver w swoim systemie.

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

Krok 4 - Pobierz wymagane pliki JAR

Serwer selenium jest zobowiązany do uruchamiania zdalnych WebRivers. Musisz pobrać samodzielny plik JAR serwera selenium za pomocą poniższych poleceń lub odwiedzić tutaj, aby znaleźć najnowszą wersję pliku JAR.

wget https: // selenium-release.składowanie.Googleapis.com/3.13/Selen-Server-Standalone-3.13.0.słoik 

Pobierz także testng-6.8.7.plik jar do twojego systemu.

wget http: // www.Java2s.com/kod/jardownload/testng/testng-6.8.7.słoik.Zip Unzip Testng-6.8.7.słoik.zamek błyskawiczny 

Krok 5 - Rozpocznij Chrome za pośrednictwem serwera selenium

Twoja konfiguracja serwera jest gotowa. Rozpocznij Chrome za pośrednictwem samodzielnego serwera selenium za pomocą narzędzia XVFB.

Uruchom Chrome za pośrednictwem serwera selenium

XVFB -Run Java -dwebdriver.chrom.Driver =/usr/bin/chromedriver -jar selen-server-standalone.słoik 

Używać -odpluskwić opcja na końcu polecenia, aby uruchomić serwer w trybie debugowania.

Możesz również Zacznij bezgłowy chromedriver Wpisując poniższe polecenie na terminalu.

chromedriver --url-base =/wd/hub 

Twój serwer selenium działa teraz z Chrome. Użyj tego serwera, aby uruchomić przypadki testowe napisane w Selenium za pomocą przeglądarki internetowej Google Chrome. Następny krok jest opcjonalnym krokiem i nie zależy od kroku 5.

Krok 6 - Przykładowy program Java (opcjonalnie)

To jest opcjonalny krok. Opisuje uruchamianie pojedynczego przypadku testowego za pomocą samodzielnego serwera selenium i chromedriver. Utwórzmy program Java za pomocą serwera selenium i sterownika Chrome. Ten program Java otworzy określony adres URL witryny i sprawdzi, czy zdefiniowany ciąg jest obecny na stronie internetowej, czy nie.

Utwórz program Java, edytując plik w edytorze tekstu.

Vim Tecadminseleniumtest.Jawa 

Dodaj poniższą zawartość do pliku.

Importuj Java.io.IoException; import org.Openqa.selen.Webdriver; import org.Openqa.selen.chrom.Chromeopcje; import org.Openqa.selen.chrom.Chromedriver; import org.testng.Adnotacje.Test; Klasa publiczna TECADMINSELENIUMTEST public static void main (String [] args) rzuca ioException, przerywającexception System.setProperty („Webdriver.chrom.kierowca ","/usr/bin/chromedriver "); ChromeOptions ChromeOptions = new Chromeoptions (); ChromeOptions.addArguments („-bez głowy”); Chromeopcje.addArguments („-bez sandbox”); WebDriver Driver = new Chromedriver (ChromeOptions); kierowca.Get ("https: // Google.com "); wątek.sen (1000); if (kierowca.getPagesource ().zawiera („Mam szczęście”)) System.na zewnątrz.println („pass”); else System.na zewnątrz.println („fail”); kierowca.zrezygnować();
123456789101112131415161718192021222324252627Importuj Java.io.IoException; import org.Openqa.selen.Webdriver; import org.Openqa.selen.chrom.Chromeoptions; import org.Openqa.selen.chrom.Chromedriver; import org.testng.Adnotacje.Test; Klasa publiczna TECADMINSELENIUMTEST public static void main (String [] args) rzuca ioException, przerywającexception System.setProperty („Webdriver.chrom.kierowca ","/usr/bin/chromedriver "); ChromeOptions ChromeOptions = new Chromeoptions (); ChromeOptions.addArguments („-bez głowy”); Chromeopcje.addArguments („-bez sandbox”); WebDriver Driver = new Chromedriver (ChromeOptions); kierowca.Get ("https: // Google.com "); wątek.sen (1000); if (kierowca.getPagesource ().zawiera („Mam szczęście”)) System.na zewnątrz.println („pass”); else System.na zewnątrz.println („fail”); kierowca.zrezygnować();

Możesz zmienić adres URL „https: // Google.com ”z dowolnym innym wybranym adresem URL, a następnie zmień ciąg wyszukiwania, taki jak„ I'm Feeling Lucky ”używany w powyższym programie Java. Zapisz swój program Java i wykonaj go. Po pierwsze, musisz ustawić zmienną środowiskową Java ClassPath, w tym selenium-server-standalone.słoik i testng-6.8.7.słoik. Następnie skompiluj program Java i uruchom go.

Export ClassPath = ".: Selenium-Server-Standalone.słoik: testng-6.8.7.Jar "Javac tecadminseleniumtest.Java Java tecadminseleniumtest 

Zobaczysz poniższe wyniki. Jeśli znaleziono zdefiniowany ciąg wyszukiwania, otrzymasz wiadomość „przejdź”, a jeśli ciąg nie zostanie znaleziony na stronie internetowej, otrzymasz komunikat „awaria” na ekranie.