HtmlUnit java programları için kullanılan headless (govdesiz, sanal) bir web browser. Yani ortada herhangi bir arayüz olmadan tüm tarayıcı fonksiyonlarını java kodları ile yapmakta. HtmlUnit ile sayfaların html bilgisini alabilirsiniz ya da test için kullanabilirsiniz. Herhangi bir web sayfasındaki; sayfa çağırma, form doldurma, linke tıklama vs. gibi işlemleri yapabilirsiniz.
JavaScript desteği bulunmakta, AJAX kütüphaneleriyle çalışmakta ve Chrome, Firefox, Internet Explorer gibi tarayıcıları simüle etmektedir.
HtmlUnit, birim test framework ü değil, JUnit, TestNG gibi frameworklerle beraber çalışmaktadır.
Eğer maven kullanıyorsanız; bağımlılıkları pom.xml dosyanıza ekleyerek, projenizi derleyerek HtmlUnit in bağımlı olduğu jar kütüphanelerini projenize eklemiş olursunuz.
Eğer kullanmıyorsanız , HtmlUnit in jar kütüphanelerini indirip, kullandığınız IDE'deki ilgili pakete Build Path-Configure Build Path- Libraries kısmından Add External Libraries e tıklayarak eklemelisiniz. Selenium ile HtmlUnit in versiyonlarının uyumlu olmasına dikkat etmelisiniz yoksa WebDriverException: java.lang.IllegalArgumentException: gibi hata alabilirsiniz. Bunun için System.out.println(HttpClientBuilder.class.getProtectionDomain().getCodeSource().getLocation ile hangi jarı kullandığını görüp düzeltebilirsiniz.
HtmlUnit in faydaları platform bağımsız ve hızlı çalışmasıdır. Eğer isterseniz kodunuza hangi tarayıcıyı simüle edeceğini belirtebilirsiniz. Aşağıda Chrome u simüle etmesini belirtiyoruz.
HtmlUnitDriver driver = new HtmlUnitDriver(BrowserVersion.CHROME)
Aşağıda Google un başlığını kontrol eden çok basit HtmlUnit kullanılarak yazılmış test kodu bulunmakta.
public class HTMLUnit {
HtmlUnitDriver driver = new HtmlUnitDriver();//HtmlUnitDriver ı kullanıyoruz
@Before
public void setUp() throws Exception {
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testRelativexpath() throws Exception {
driver.get("https://www.google.com/");
String Title = driver.getTitle();
System.out.println("Title of the webpage = " +Title);
assertEquals(Title,"Google");
}
@After
public void tearDown() throws Exception {
driver.quit();
}
}
Yorumlar
Yorum Gönder