Ovládač Selenium Web je nástroj na automatizáciu webu, ktorý vám umožňuje spúšťať testy v rôznych prehľadávačoch. Týmito prehliadačmi môžu byť Internet Explorer, Firefox alebo Chrome. Na použitie konkrétneho prehliadača so selénom potrebujete zodpovedajúci ovládač.
Pri testovacej prevádzke Selenium spustí zodpovedajúci prehliadač vyvolaný v skripte a vykoná testovacie kroky. Môžete vidieť prehliadač a vykonanie testu v akcii.
Čo je bezhlavý prehliadač?
Bezhlavý prehliadač je webový prehľadávač bez grafického používateľského rozhrania . Tento program sa bude správať ako prehliadač, ale nebude zobrazovať žiadne grafické používateľské rozhranie.
Medzi príklady bezhlavých ovládačov patrí
- HtmlUnit
- Duch
- PhantomJS
- ZombieJS
- Watir-webdriver
V tomto tutoriáli sa zameriame na HtmlUnit a PhatomJS
HTMLUnitDriver
HTML UnitDriver je najľahší a najrýchlejší implementačný bezhlavý prehliadač pre WebDriver. Je založený na HtmlUnit. Je známy ako Headless Browser Driver . Je rovnaký ako ovládač Chrome, IE alebo FireFox, ale nemá grafické používateľské rozhranie, takže na obrazovke nevidíte vykonanie testu.
Vlastnosti ovládača jednotky HTML
- Podpora protokolov HTTPS a HTTP
- Podpora odpovedí HTML (klikanie na odkazy, odosielanie formulárov, prechádzanie modelu DOM dokumentu HTML atď.)
- Podpora súborov cookie
- Podpora servera proxy
- Podpora základnej a NTLM autentifikácie
- Vynikajúca podpora JavaScriptu
- Podpora metód odoslania GET a POST
- Schopnosť prispôsobiť hlavičky požiadaviek odosielaných na server
- Schopnosť určiť, či by zlyhané odpovede zo servera mali spôsobiť výnimky alebo sa majú vrátiť ako stránky príslušného typu
Kroky na použitie ovládača HTMLUnit so selénom
Krok 1) V Eclipse skopírujte nasledujúci kód. Pridajte do projektu štandardné súbory knižnice selénu. Nie sú potrebné žiadne ďalšie súbory jar.
balík htmldriver;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.htmljednotka.HtmlUnitDriver;verejná trieda htmlUnitYest {public static void main (String [] args) {// Vytvorenie novej inštancie ovládača jednotky HTMLOvládač WebDriver = nový HtmlUnitDriver ();// Prejdite na stránku Googledriver.get ("http://www.google.com");// Vyhľadajte vyhľadávacie pole podľa jeho názvuElement WebElement = driver.findElement (By.name ("q"));// Zadajte vyhľadávací dopytelement.sendKeys ("Guru99");// Zadajte dotaz. Webdriver vyhľadáva formulár automaticky pomocou prvku na zadávanie textu// Nie je potrebné nájsť / nájsť tlačidlo na odoslanieelement.submit ();// Tento kód vytlačí názov stránkySystém. out .println ("Názov stránky je: + driver.getTitle ());driver.quit ();}}
Krok 2) Spustite kód. Nebudete spúšťať prehliadač a výsledky sa zobrazia v konzole.
Výhody ovládača jednotky HTML:
- Pretože na testovanie nepoužíva žiadne grafické používateľské rozhranie, vaše testy budú prebiehať na pozadí bez vizuálneho prerušenia
- V porovnaní so všetkými ostatnými inštanciami je vykonávanie rýchlejšie
- Ak chcete spustiť testy pomocou ovládača HtmlUnit, môžete zvoliť aj iné verzie prehľadávača
- Je nezávislý na platforme a je jednoduchšie spustiť niekoľko testov súčasne. Ideálne pre testovanie záťaže.
Obmedzenia:
- Nemôže emulovať správanie JavaScriptu iných prehľadávačov
PhantomJS
PhantomJS je bezhlavý prehliadač s rozhraním JavaScript API. Je to optimálne riešenie pre bezhlavé testovanie webových stránok, prístup k webovým stránkam a manipuláciu s nimi a dodáva sa so štandardným rozhraním DOM API.
Aby ste mohli používať PhantomJS so Seleniun, musíte používať GhostDriver. GhostDriver je implementácia protokolu Webdriver Wire v jednoduchom JS pre PhantomJS.
Najnovšie vydanie PhatomJS má integrovaný GhostDriver a nie je potrebné ho zvlášť inštalovať.
Takto funguje systém -
Kroky na spustenie selénu s PhatomJS
Krok 1) Potrebujete Eclipse s nainštalovaným selénom
Krok 2) Stiahnite si PhantomJS tu
Krok 3) Extrahujte stiahnutý priečinok do Program Files
Krok 4) Stiahnite si ovládač PhantomJS odtiaľto. Pridajte nádobu do projektu
Krok 5) Vložte nasledujúci kód do zatmenia
balík htmldriver;import java.io.File;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.phantomjs.PhantomJSDriver;public class fantom {public static void main (String [] args) {Súbor file = nový súbor ("C: / Program Files / phantomjs-2.0.0-windows / bin / phantomjs.exe");System.setProperty ("phantomjs.binary.path", file.getAbsolutePath ());Ovládač WebDriver = nový PhantomJSDriver ();driver.get ("http://www.google.com");Element WebElement = driver.findElement (By.name ("q"));element.sendKeys ("Guru99");element.submit ();System.out.println ("Názov stránky je: + driver.getTitle ());driver.quit ();}}
Krok 6) Spustite kód. Uvidíte, že výstup sa zobrazuje v konzole a nespustí sa žiadny prehliadač.
POZNÁMKA : Pri prvom spustení sa na základe vašich nastavení môže zobraziť bezpečnostné varovanie systému Windows, ktoré umožní spustenie programu PhantomJS. Kliknite na Povoliť prístup.
Mnoho organizácií používa program Phantom.JS na rôzne účely, napríklad na
- Bezhlavé testovanie
- Zachytenie obrazovky
- Automatizácia stránok
- Monitorovanie siete
- Na vykreslenie snímok obrazovky hlavného panela pre ich používateľov
- Spustenie testov jednotky na príkazovom riadku
- Generovať príručky pre zamestnancov z HTML do PDF
- V kombinácii s QUnit pre testovaciu sadu
Zhrnutie
Na rýchle testovanie aplikácie v rôznych prehliadačoch a bez vizuálneho prerušenia sa používa bezhlavé testovanie prehliadača. Vďaka svojej rýchlosti, presnosti a ľahko prístupným funkciám si ovládač jednotiek HTML a PhantomJS získavajú obľubu pri bezhlavom testovaní prehliadačov. Podľa niekoľkých jednoduchých krokov zistíte, ako ľahko je možné tieto nástroje integrovať s inými nástrojmi a vykonať testovací kód.