Selenium ve BrowserMob Proxy ile Network Testi

0
1.177
Görüntüleme

Merhaba Arkadaşlar,

Bugün ki makalemizin konusu Selenium WebDriver ile BrowserMob Proxy kullanımı olacak.  Öncelikle browserMob proxy nedir, ne iş yapar kısaca bunu anlatayım. BrowserMob, HTTP isteklerini ve yanıtları manipüle etmek, HTTP içeriğini yakalamak ve performans verilerini HAR dosyası olarak dışa aktarmaya yarayan open source bir araçtır. Aşağıdaki linkten BrowserMob Proxy dokümantasyonuna buradan da ulaşabilirsiniz. El ile Firebug, Developer Tools vb tarayıcı araçlarının network kısmından request ve response ları inceleyerek web sitenin performansını inceleyebilirsiniz. Bu makalede browsermob’u selenium ile entegre ederek HAR formatında performans verilerini yakalayacağız.

 

Nasıl Yapılır ?

Öncelikle aşağıda bulunan selenium, Junit (opsiyonel), browsermob-core bağımlılıkları maven projemizin pom.xml dosyasına ekleyelim.

 

Aşağıda bulunan test projemde sahibinden.com anasayfada yüklenen “.png” lerin doğru bir şekilde yüklenip yüklenmediğinin kontrolünü yapan bir test yazdım. Kodun açıklaması aşağıdadır.

 

@Before annotation daki method da BrowserMobProxyServer nesnesi oluşturuluyor ve proxy start ediliyor. Burada proxy.start method da port number girmezseniz otomatik olarak her test için farklı port da test başlayacaktır, isterseniz de aşağıdaki gibi belirttiğiniz port da testleri koşabilirsiniz.

 

@Test annotation daki test method da tarayıcı sahibinden.com anasayfaya gidiyor, bu arada browserMob network ü dinliyor (request ve response). Entry ler HarEntry listesine alınıyor ve sayfa yüklenirken yapılan request lerdeki url i .png içerenleri filtreleniyor. Daha sonra da response un 200 geldiğinin kontrolü yapılıyor.

 

@After annotation daki method da tüm ağ verilerini, sayfa kaynağıyla birlikte belirtilen path de json formatında HAR dosyasına kaydeder.

Yukarıda bulunan Json ı buradaki linkteki alana yapıştırdıktan sonra preview e tıklayarak daha anlaşılır bir şekilde de inceleyebilirsiniz.

 

Saygılar

Enes Aydın

CEVAP VER

Yanlış bir e-posta adresi girdiniz!
Lütfen adınızı buraya girin Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.