Selenium WebDriver ile Headless Browser Testing

Ahmet Demirel
AhmetDemirel-blog
Published in
2 min readApr 29, 2019

--

Merhabalar bu yazımda sizlere headless browser testing konusundan bahsedeceğim. Öncelikle headless browser testing nedir onu açıklamakla başlayalım. Başsız tarayıcı testi(headless browser testing) derken aslında bahsetmek istediğimiz testleri tarayıcı arayüzlerini görmeden çalıştırmaktır. Headless browser herhangi bir web sitesine şu anda kullandığımız gibi erişebilir sadece ekranda hiçbir şey görünmez. Tüm işlemler arkaplanda kullanıcı görmeden gerçekleşir. Headless browser testing nasıl projemize ekleyebileceğimizi daha önce yazdığım Allure Test Report yazımdaki kaynak kodları kullanarak göstereceğim.

Avantajları:

  1. Daha az kaynak kullanımı- sayfanızın yüklenmesi tamamlanmasa bile işlemlere başlayabilir.
  2. Daha hızlı- normal testlere göre daha hızlıdır.
  3. Performans izleme- headless browser genellikle istemci tarafı performansını ölçmek için kullanılır.
  4. Veri çıkarma- web sitesinden veri çıkartma işlemi yapacaksanız headless browser sizin için hada hızlı bir şekilde yapabilir.
  5. Bağımlılıklar- Continuous Integration sunucularında kurulumu çok daha kolaydır.

Hangi durumda headless browser kullanmamalıyız?

  1. Debugging- headless browser ile debug yapmak zordur.Adım adım testlerinizi takip edemezsiniz.

Şimdi bir demo ile projemize nasıl ekleyebilir onu görelim.

Bu işlem oldukça basit tek yapmamız gereken driverı ayağa kaldırırken chromeoptions seçeneklerine “ — headless” eklemek.

ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");

Bu ekleme işlemini yaptıktan sonra artık tarayıcıyı görmeden testlerinizi koşabilirsiniz. Tüm BaseTest sınıfındaki kodları altta görebilirsiniz.

public class BaseTest {
public WebDriver driver;
public WebDriverWait wait;



@BeforeEach
public void setUp(){
System.setProperty("webdriver.chrome.driver","/Users/sahabt/Desktop/swacademy/deneme/allure-test-report/driver/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");

driver = new ChromeDriver(options);
wait = new WebDriverWait(driver,15);


}

@AfterEach
public void driverQuit(){

driver.quit();
}



}

Ayarları yaptıktan sonra artık tarayıcıyı görmeyen testlerimizi koşabiliriz.

Github hesabımdan kaynak koda erişip ayarları inceleyebilirsiniz.

--

--