Selenium ile UI Testi

image
image
image
Selenium ile UI Testi

Selenium ile UI Testi

Bu blog yazımda Selenium ile UI testinden bahsedeceğim. Selenium ile UI testi yani yapılan bir programın düzgün çalışıp çalışmadığını kontrol etmek için yapılan testtir. Somut bir örnek vermek gerekirse web üzerinde bir muhasebe programı yaptığınızı ve test etmek istediğinizi düşünün. Programı test ederken tek tek, kasa oluştur, kasaya para ekle, kasaya eklediğiniz kadar mı para eklendi yoksa para ekleme sorgusu bir çakışma sonucu iki üç kez çalışıp hesap yanlış mı oldu diye her zaman kontrol mü edeceğiz? Hadi bir kez kontrol ettik ve program testten geçti diyelim ama bu program her zaman aynı kalmayacak, güncellemeler yapılacak, gerektiğinde ekleme veya çıkarma yapılacaktır. Bu işlemler yapıldığında en başta yaptığımız testlerden geçen bazı kısımlarda bozulma meydana gelmiş olabilir. Şimdi az önce sorduğum soru akıllara geliyor. Şimdi testi baştan tek tek yapacak mıyız? İşte tam burada Selenium bize yardımcı olacak. Bu testi yaparken Selenium kullanabilirsiniz. Selenium’u kullanarak yazdığınız bir program ile testi seri bir şekilde yaparak işimiz kolaylaşacaktır. Bazı komutlar:  

IWebDriver driver = new FirefoxDriver(); İşlemi Firefox’ta yapacağımız için yukarıdaki gibi bir driver objesi oluşturuyoruz. (Not: Diğer tarayıcılarda da test edebilirsiniz)

IWebElement email = driver.FindElement(By.Name("email")); name’i ‘email’ olan elemente ulaş

email.SendKeys("[email protected]"); name’i email elementine ‘[email protected]’ yaz

IWebElement password = driver.FindElement(By.Name("password")); name’i ‘password’ olan elemente ulaş

password.SendKeys("sifre"); name’i password elementine ‘sifre‘ yaz

password.Submit(); password elemetinden sonra post et (Formdaki Gönder/Kaydet/Güncelle butonuna tıkla)

driver.Url o andaki url’ye ulaş

driver.Title o anda açık olan sayfanın başlığına ulaş

driver.FindElement(By.XPath("//*[@id=\"side-menu\"]/li[1]/a/span/b")).Click(); Xpath ile elementi bul ve tıkla

driver.FindElement(By.XPath("//*[@id=\"page-wrapper\"]/div/div[1]/div/ol/li[2]")).Text Xpath ile ulaşılan elementin Text’ine erişmek

Tüm komutlar bunlardan ibaret olmadığını ve test programının Java, Python, Ruby vb. dillerinde de yazılabileceğini hatırlatmak isterim. Selenium dokümantasyonuna bu linkten ulaşabilirsiniz-> http://www.seleniumhq.org/docs/ .  Bu Testing işlemini otomatikleştirme konusunda yardımcı olan Vasfi abime teşekkür ederim. Bir de onun gözünden Selenium’a bakmak için: http://vasfitataroglu.com/blog/web-sitelerine-selenium-kullanarak-ui-test-otomasyon-yazimi/