Selenium Webdriver Script – Java JUnit

Herkese merhaba,
Bu yazımızın konusu Selenium Webdriver olacak. Daha önceki yazılarda, Selenium IDE ve Selenium RC ile test örnekleri ve detayları(komutları vs) paylaşmıştım. Webdriver, diğerlerine göre daha gelişmiş bir versiyondur. RC’nin Javascript “inject” tekniği yerine, tarayıcıların kendi “Native” metodları kullanılıyor. Haliyle, bu durum daha gerçekçi testler yapmamıza imkan veriyor.
Aşağıda, Webdriver ile yazılmış temel bir script bulabilirsiniz. Scripti (yine her zamanki gibi) Java ile ve JUnit formatında yazdım. Ayrıca, tarayıcı olarak Firefox çağıracağız.(önümüzdeki yazılarda Chrome ile nasıl yapılırı paylaşacağım).

import org.junit.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;

public class BlogClass {
private WebDriver driver;

@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
}

@Test
public void testClass() throws Exception {
driver.get(“http://www.google.com”);
driver.findElement(By.id(“gbqfq”)).sendKeys(“mahsumakbas”);
System.out.println(“Sitenin başılığı: ” + driver.getTitle());

}

@After
public void tearDown() throws Exception {
driver.quit();
}

}

Kodu incelemek gerekirse:
setUp() fonksiyonunda,
driver = new FirefoxDriver(); => burda, bir Firefox Driver objesi yaratıyoruz. Ve sihir, tam oalrak bundan sonra başlıyor. Bu objenin ismini “driver” verdik. (webdriver ile ilgili birşeyleri internette araştırırsanız, hemen hemen hekesin bu anahtar kelimeyi kullandığını görürsünüz. Nacizane tavsiyem siz de öyle yapın. Böylece, bir yerlerden alacağınız herhangi bir kod parçasını çok fazla değiştirme ihtiyacınız kalmaz ve zaman kaybı olmaz).

testClass() fonksiyonu da, bütün test işlemlerini içeren ana fonksiyonumuzdur. Burda, gördüğümüz üzere, Selenium Webdriver fonksiyonlarını, driver objesi ile beraber çağırıyoruz. Örnek olarak, get() fonskiyonu bir web adresi açmamızı sağlıyor:
driver.get(“http://www.google.com”);
Driver’a, www.google.com sayfasına gitmesini söyledik.
driver.findElement(By.id(“gbqfq”)).sendKeys(“mahsumakbas”);
Daha sonra, açılan sayfada, id’si “gbqfq” olan bir html elemeneti arayacağız. Bu elemente, sendKeys() komutu ile bir veri girişi yapıyoruz.
getTitle() fonksiyonu ile o web sayfasının başlığını(html title elementi ile tanımladığımız içerik) alıp yazdırıyoruz.

tearDown fonksyionunda da, driver’ı kapatıyoruz.

Bu kadar basit. Bundan sonrası, tamamıyla ihtiyaçlarınızı belirleyip, programcılık mantığıyla/paradigmasıyla çözmektir.
Her türlü sorunuz için, iletişim sayfasından bana ulaşabilirsiniz.

Bol otomasyonlu günler dilerim.

Leave a Reply

Your email address will not be published. Required fields are marked *

*