Google webdriver – Inštalácia firefox pluginu
1. Vytvoríme nový profil vo firefox-e.
- firefox -ProfileManager, pričom "firefox" – je plná cesta k programu firefox.exe

2. Klikneme na button „Create Profile“.
3. Zadáme meno profilu - WebDriver a odklikáme wizarda, pričom akceptujeme defaultné nastavenia.
4. Naštartujeme firefox v novovytvorenom profile.
- firefox -ProfileManager a dvojklik na profil WebDriver
- firefox -P WebDriver
Po štarte firefox-u v novom profile naň dragneme plug-in [webdriver-firefox.xpi], ktorý sa nainštaluje. Tým sme zabezpečili inštaláciu pluginu a môžeme začať písať prvého testovacieho robota, ktorý na testovanie webových stránok použije firefox.
Úspešnú inštaláciu WebDriver pluginu overíme v menu Tools->Add-ons

Google webdriver – Testovací robot, využívajúci firefox plugin
Teraz napíšeme testovací scenár, ktorým bude, ako inak, Java kód. Ten uložíme ako triedu, ktorú nazveme „Test2.java“.
package com.googlecode.webdriver.example;
import com.googlecode.webdriver.WebDriver;
import com.googlecode.webdriver.WebElement;
import com.googlecode.webdriver.firefox.FirefoxDriver;
public class Test2 {
@SuppressWarnings("unchecked")
public static void main(String[] args) throws Exception {
// Firefox driver podporuje javascript
System.setProperty("webdriver.firefox.useExisting", "true");
WebDriver driver = new FirefoxDriver();
// podme na Google Suggest home page
driver.get("http://www.google.com/webhp?complete=1&hl=en");
// Zadajme "Cheese"
WebElement query =
driver.findElement(By.xpath("//input[@name = 'q']"));
query.sendKeys("Cheese");
// Pockame 2 s.
Thread.sleep(2000);
// tu je zoznam navrhov
List<WebElement> allSuggestions =
driver.findElements(By.xpath("//td[@class='google-ac-c']"));
for (WebElement suggestion : allSuggestions) {
System.out.println(suggestion.getText());
}
// klikneme na Search
driver.findElement(By.xpath("//input[@name='btnG']")).click();
System.out.println(driver.getTitle());
}
}
Nášho novovytvoreného testovacieho robota spustíme rovnako ako triedu FirstTest.java s tým rozdielom, že nepoužijeme Run As, ale Debug As. Každý krok v debug móde Eclipse je efektne vizualizovaný v okne firefox-u, ktorý sa automaticky spustil v profile WebDriver.
Google webdriver – Testovací robot, využívajúci Internet Explorer
Pred prvým použitím InternetExplorerDriver-a je potrebné uložiť „InternetExplorerDriver.dll“ niekam do systémovej cesty [path]. Tým splníme základný predpoklad spustenia testovacieho robota, ktorý bude využívať InternetExplorerDriver.
Teraz napíšeme ďalší testovací scenár, ktorý bude takmer totožný s kódom v Test2.Java. Rozdielom bude iba inštancia interface WebDrive, pričom v tomto prípade použijeme InternetExplorerDriver. Triedu uložíme ako „Tes3.java“.
package com.googlecode.webdriver.example;
import com.googlecode.webdriver.WebDriver;
import com.googlecode.webdriver.WebElement;
import com.googlecode.webdriver.ie.InternetExplorerDriver;
public class Test3 {
@SuppressWarnings("unchecked")
public static void main(String[] args) throws Exception {
// Instancia Internet Explorer-a s javascriptami
WebDriver driver = new InternetExplorerDriver ();
// podme na Google Suggest home page
driver.get("http://www.google.com/webhp?complete=1&hl=en");
// Zadajme "Cheese"
WebElement query =
driver.findElement(By.xpath("//input[@name = 'q']"));
query.sendKeys("Cheese");
// Pockame 2 s.
Thread.sleep(2000);
// tu je zoznam navrhov
List<WebElement> allSuggestions =
driver.findElements(By.xpath("//td[@class='google-ac-c']"));
for (WebElement suggestion : allSuggestions) {
System.out.println(suggestion.getText());
}
// klikneme na Search
driver.findElement(By.xpath("//input[@name='btnG']")).click();
System.out.println(driver.getTitle());
}
Novovytvoreného testovacieho robota spustíme rovnako ako Test2.java opäť použitím Debug As. Každý krok v debug móde Eclipse je efektne vizualizovaný v okne Internet Explorera. Tu je ale treba poukázať na chybičku tohto riešenia. Ak totiž v debug móde vykonáme riadok obsahujúci „.sendKeys“, parameter sendKeys sa pošle do práve fokusovaného okna – čiže do editora Eclipse a nie do Internet Explorera, ako by sme právom očakávali. Je však ešte potrebné povedať, že revision 280, ktorú som použil pri písaní tohto článku bola relatívne stará a uvedený problém by sa vo vyšších verziách nemal vyskytnúť.
V tabuľke sú uvedené charakteristiky jednotlivých implementácií webdriverov.
|
Meno |
OS |
Rýchlosť |
|
HtmlUnitDriver |
Všetky |
vysoká |
|
FirefoxDriver |
Všetky |
vysoká |
|
InternetExplorerDriver |
Windows |
pomalá |
|
SafariDriver |
Mac OS X |
stredná |
Nabudúce:
- Google webdriver - Vytvárame vlastné testovacie kroky

