Tento výukový program vám pomůže nastavit Selenium pomocí ChromeDriver na Debianu 9 a Debianu 8. Tento výukový program také obsahuje příklad programu Java, který používá samostatný server Selenium a ChromeDriver a spouští ukázkový testovací případ.
Xvfb (X virtual framebuffer) je server pro zobrazení v paměti pro operační systém podobný UNIXu (např. Linux). Implementuje protokol zobrazovacího serveru X11 bez jakéhokoli zobrazení. To je užitečné pro aplikace CLI, jako je služba CI.
Krok 1 – Předpoklady
Přihlaste se do svého systému Debian jako uživatel s privilegovaným oprávněním sudo a spusťte následující příkazy pro instalaci požadovaných balíčků na váš systém.
sudo apt-get update sudo apt-get install -y curl unzip xvfb libxi6 libgconf-2-4
Nainstalujte si do systému také Javu. Použijte níže uvedený příkaz k instalaci OpenJDK na váš systém. Pokud chcete nainstalovat Oracle Java 8 na váš systém Debian.
sudo apt-get install default-jdk
Krok 2 – Nainstalujte Google Chrome
Nyní nainstalujte nejnovější Google chrome do svého systému Debian pomocí příkazů níže. Bezhlavá funkce Google Chrome otevírá více dveří pro automatizaci.
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
Krok 3 – Nainstalujte ChromeDriver
ChromeDriver je samostatný server, který implementuje drátový protokol WebDriver pro Chromium. WebDriver je nástroj s otevřeným zdrojovým kódem pro automatické testování webových aplikací ve více prohlížečích.
wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip unzip chromedriver_linux64.zip
Nejnovější ChromeDriver najdete na jeho oficiální stránce ke stažení. Nyní spusťte níže uvedené příkazy a nakonfigurujte ChromeDriver ve vašem systému.
sudo mv chromedriver /usr/bin/chromedriver sudo chown root:root /usr/bin/chromedriver sudo chmod +x /usr/bin/chromedriver
Krok 4 – Stáhněte si požadované soubory Jar
Ke spuštění Remote Selenium WebDrivers je vyžadován Selenium Server. Musíte si stáhnout soubor jar samostatného serveru Selenium pomocí níže uvedených příkazů nebo navštivte zde a vyhledejte nejnovější verzi souboru Jar.
wget https://selenium-release.storage.googleapis.com/3.13/selenium-server-standalone-3.13.0.jar
Stáhněte si také soubor testng-6.8.7.jar do svého systému.
wget http://www.java2s.com/Code/JarDownload/testng/testng-6.8.7.jar.zip unzip testng-6.8.7.jar.zip
Krok 5 – Spusťte Chrome přes Selenium Server
Nastavení vašeho serveru je připraveno. Spusťte Chrome přes samostatný selenový server pomocí nástroje Xvfb.
Spusťte Chrome prostřednictvím serveru Selenium
xvfb-run java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar selenium-server-standalone.jar
Použijte -debug
možnost na konci příkazu pro spuštění serveru v režimu ladění.
Můžete také Spustit Headless ChromeDriver zadáním níže uvedeného příkazu na terminálu.
chromedriver --url-base=/wd/hub
Váš server Selenium nyní běží s Chrome. Pomocí tohoto serveru můžete spouštět své testovací případy napsané v Selenium pomocí webového prohlížeče Google Chrome. Další krok je volitelný a nezávisí na kroku 5.
Krok 6 – Ukázkový program Java (volitelné)
Toto je volitelný krok. Popisuje spuštění jednoho testovacího případu pomocí samostatného serveru Selenium a ovladače ChromeDriver. Vytvořme program Java pomocí serveru Selenium a ovladače Chrome. Tento program Java otevře zadanou adresu URL webové stránky a zkontroluje, zda je na webové stránce přítomen definovaný řetězec.
Vytvořte program Java úpravou souboru v textovém editoru.
vim TecAdminSeleniumTest.java
Přidejte níže uvedený obsah do souboru.
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) vyvolá IOException, InterruptedException { System.setProperty("webdriver.chrome.driver", "/usr/bin/chromedriver"); ChromeOptions chromeOptions =new ChromeOptions(); chromeOptions.addArguments("--headless"); chromeOptions.addArguments("--no-sandbox"); Ovladač WebDriver =nový ChromeDriver(chromeOptions); driver.get("https://google.com"); Thread.sleep(1000); if (driver.getPageSource().contains("Zkusím štěstí") { System.out.println("Pass"); } else { System.out.println("Fail"); } driver.quit(); }} |
Adresu URL „https://google.com“ můžete změnit na jakoukoli jinou adresu URL podle svého výběru a poté také změňte vyhledávací řetězec, například „Zkusím štěstí“, který se používá ve výše uvedeném programu Java. Uložte svůj java program a spusťte jej. Nejprve musíte nastavit proměnnou prostředí Java CLASSPATH včetně selenium-server-standalone.jar a testng-6.8.7.jar. Poté zkompilujte java program a spusťte jej.
export CLASSPATH=".:selenium-server-standalone.jar:testng-6.8.7.jar" javac TecAdminSeleniumTest.java java TecAdminSeleniumTest
Uvidíte výsledky jako níže. Pokud byl nalezen definovaný vyhledávací řetězec, zobrazí se zpráva „Pass“ a pokud řetězec na webové stránce nenalezen, zobrazí se na obrazovce zpráva „Fail“.