Site icon Kartaca

Selenium ile Testleri Otomatikleştirme


Selenium ile Testleri Otomatikleştirme

   

Selenium, testleri otomatikleştiren bir test aracıdır. Selenium test betikleri oluşturmak için Java, C#, Python vb. gibi birden çok programlama dilini kullanabilirsiniz. Ve ayrıca Firefox eklentisi olan Selenium-IDE ile test yazım dillerini öğrenmeden kolayca testinizi otomatik hale getirebilirsiniz.

 

Test otomasyonu;

   

Selenium’u birden fazla tarayıcıda yeniden çalıştırmak için Javascript kütüphanesi geliştirildi. Bunun sonucunda Selenium IDE ve Selenium RC (Remote Control)’nin temeli olan Selenium Core meydana geldi. Tarayıcıların Javascript için güvenlik kısıtlamaları Selenium için bazı durumları imkansız hale getirdi. Bunun için de WebDriver geliştirildi.

 

Selenium Araçları;

Örnek olarak Python’da webdriver kullanarak küçük bir test yazalım. Öncelikle Python için selenium modülünü kurmak gerekir. Uygulamamız Kartaca’nın Türkçe web sayfasını açsın ve başlık (title) bilgisini kontrol etsin.

import unittest
from selenium import webdriver
class FFKartacaTest(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
    def test_baslik(self): 
        self.driver.get("http://www.kartaca.com/TR/anasayfa")
        self.assertIn("Kartaca - Anasayfa", driver.title)
    def tearDown(self):
        self.driver.close()
if __name__ == "__main__":
    unittest.main()

Tanımladığımız sınıfın içerisine birden fazla test yazabiliyoruz. Yazılan testler alfabetik sırayla (metodun ismine göre) çalışıyor ve her çalışan testin ardından tearDown metodu otomatik çağrılıyor. Programın tarayıcıda etkileşimde olacağı elemanları bulurken Firefox’un Firepath ve Firebug araçlarından yararlanılabilir. Elemanlar sınıf ismine göre (find_element_by_class_name), yazılan css’e göre (find_element_by_css_selector) ve elemanın id’sine göre (find_element_by_id) bulunabilir. Bu elemanlar form ögesi veya bir menü olabilir. Webdriver’ın metotlarını kullanarak formları doldurabilir ve sayfalardaki bağlantılara tıklayarak gezinebiliriz.

Yazan: Kartaca


Exit mobile version