V jednom seriály uverejnenom na Inet.sk(http://www.inet.sk/clanok/5954/google-webdriver-vytvorte-si-vlastneho-testovacieho-robota-cast-i) sa rozoberalo, ako si vytvoriť svojho testovacieho robota pre kontrolu webstránok.
Autor v návode jednoducho si pridá všetky potrebné súbory do projektovej classpath a používa knižnice bez problémov. Ja však chcem svoje aplikácie kompilovať z príkazovej riadky a nepoužívať rozsiahle vývojové prostredia typu NetBeans, Eclipse.
Uvažujme, že budem mať jarká webdriveru v priečinku /home/iyo/webdriver a pokúšam sa skompilovať si program FirstTime, ktorého listing je v odkazovanom článku. Potom môj príkaz vyzerá takto:
javac -classpath "/home/iyo/webdriver/commons-codec-1.3.jar;/home/iyo/webdriver/commons-collections-3.2.jar;/home/iyo/webdriver/commons-httpclient-3.1.jar;/home/iyo/webdriver/commons-io-1.4.jar;/home/iyo/webdriver/commons-lang-2.4.jar;/home/iyo/webdriver/commons-logging-1.1.1.jar;/home/iyo/webdriver/cssparser-0.9.5.jar;/home/iyo/webdriver/htmlunit-core-js-2.2.jar;/home/iyo/webdriver/htmlunit-2.2.jar;/home/iyo/webdriver/nekohtml-1.9.8.jar;/home/iyo/webdriver/sac-1.3.jar;/home/iyo/webdriver/webdriver-common.jar;/home/iyo/webdriver/webdriver-htmlunit.jar;/home/iyo/webdriver/xalan-2.7.0.jar;/home/iyo/webdriver/xercesImpl-2.8.1.jar;/home/iyo/webdriver/xml-apis-1.0.b2.jar" FirstTest.java
Dostanem však chybové hlásenie, ktoré naznačuje, že potrebné knižnice sa nevložili:
FirstTest.java:5: cannot find symbol
symbol : class By
location: package com.googlecode.webdriver
import com.googlecode.webdriver.By;
^
FirstTest.java:7: cannot find symbol
symbol : class WebDriver
location: package com.googlecode.webdriver
import com.googlecode.webdriver.WebDriver;
^
FirstTest.java:9: cannot find symbol
symbol : class WebElement
location: package com.googlecode.webdriver
import com.googlecode.webdriver.WebElement;
^
FirstTest.java:11: package com.googlecode.webdriver.htmlunit does not exist
import com.googlecode.webdriver.htmlunit.HtmlUnitDriver;
^
FirstTest.java:19: cannot find symbol
symbol : class WebDriver
location: class com.googlecode.webdriver.example.FirstTest
WebDriver driver = new HtmlUnitDriver();
^
FirstTest.java:19: cannot find symbol
symbol : class HtmlUnitDriver
location: class com.googlecode.webdriver.example.FirstTest
WebDriver driver = new HtmlUnitDriver();
^
FirstTest.java:27: cannot find symbol
symbol : class WebElement
location: class com.googlecode.webdriver.example.FirstTest
WebElement element =
^
FirstTest.java:29: cannot find symbol
symbol : variable By
location: class com.googlecode.webdriver.example.FirstTest
driver.findElement(By.xpath("//input[@name = 'q']"));
^
8 errors
Mám chybne nastavenú classpath? Alebo je problém niekde inde?
Disclaimer: Tento príklad som dokázal skompilovať pomocou NetBeans, kde je to záležitosť na pár kliknutí. Chcem sa však naučiť niečo viac, preto skúšam, ako by som to spravil z príkazového riadku.