Selenium Nedir?

Selim Sarıyıldız
5 min readFeb 10, 2021

--

Selenium, web tarayıcılarında yapılan testleri otomatikleştirmek için kullanılan açık kaynaklı bir araçtır.

Selenium’un Avantajları

  • Selenium açık kaynaklıdır ve lisanslama maliyeti yoktur.
  • Bu tesleri herhangi bir tarayıcıyı kullanarak yapabilir.(Google Chrome, Opera, Mozilla Firefox, Safari)
Web Browser’lar
  • Test komut dosyaları Python, Java, C#, PHP, Ruby, Perl gibi popüler programlama dilleriyle yazılabilir.
  • Bu testler her işletim sisteminde gerçekleştirilebilir(Windows, Mac, Linux)
  • Test senaryolarını yönetmek ve raporlar oluşturmak için TestNG & JUnit gibi araçlarla entegre edilebilir.
  • Sürekli Test elde etmek için Maven, Jenkins ve Docker ile entegre edilebilir.

Selenium’un Dezavantajları

  • Selenium ile sadece web uygulamalarını test edebiliriz. Masaüstü veya mobil uygulamayı test edemeyiz.
  • Selenium için destek yoktur. Mevcut müşteri topluluklarından faydalanmamız gerekiyor.
  • Görüntüler üzerinde test yapamayız. Görüntü tabanlı testler için Selenium’u Sikuli ile entegre etmemiz gerekiyor.
  • Yerel raporlama olanağı yoktur. Ancak TestNG veya JUnit gibi çerçevelerle entegre ederek bu sorunun üstesinden gelebiliriz.

Yazılım Testi

Selenium yazılım testinde otomasyonudur. Mesela web sitenizde bir sürü buton ve fonksiyon var. Bunları elle kontrol etmek yerine Selenium ile otomasyon yazıp kontrol edebilirsiniz. Web sitenizi her update’den sonra manuel olarak test etmek oldukça zor olacaktır. Selenium bu test süresini oldukça kısaltır. Özellikle büyük şirketlerdeki büyük ve karmaşık web sitelerini düşündüğümüzde bu web sitelerinin testlerin manuel olarak yapmak mümkün değildir. Çok büyük zaman ve iş kaybıdır. Bu yüzden otomasyon testi kullanılır. Daha az insan kaynağı ve yatırımla daha doğru testler yapılabilir.

Selenium’un bazı rakipleriyle kıyaslaması:

Selenium’un 3 farklı bileşeni vardır

  • Selenium IDE (Integrated Development Environment)
  • Selenium WebDriver
  • Selenium Grid

Selenium IDE

Selenium IDE, Crome ve Firefox ile kullanılabilir. Selenium IDE’yi tarayıcınızın uzantısını ekleyerek kullanabilirsiniz.
Web taracıyıcı üzerinden yapılan tüm aksiyonları kaydedip çıktısını verir. Selenium IDE’yi http://docs.seleniumhq.org/download/ linkinden indirebilirsiniz.

SELENIUM Grid

Selenium Grid ile birden fazla testin farklı sunucular ve tarayıcılar ile aynı anda testlerin koşulması sağlanmaktadır. Farklı işletim sistemi, cihaz ve donanımlarda aynı anda yapılan testlerin bize ciddi bir zaman kazandırır.

SELENIUM WebDriver

Selenium WebDrive ; Tarayıcı üzerinde kullanıcının yapacağı tüm aksiyonları programlama dili kullanarak otomatikleştirmemizi sağlar.

Selenyum WebDriver’ın Faydaları

  • 7 programlama dili desteği: JAVA, C #, PHP, Ruby, Perl, Python ve .Net.
  • Firefox, Chrome, IE, Safari gibi çeşitli tarayıcılarda testi destekler
  • Testler Windows, Mac, Linux, Android, iOS gibi farklı işletim sistemlerinde gerçekleştirilebilir.

Selenium WebDriver ile Yaptığım Örnek Uygulama

Öncelikle Python kullanacağım için Python kurulumunu yaptım. Sonrasında Selenium’u kurmak için aşağıdaki komutu komut isteminde çalıştırdım.

pip install selenium

Sonra aşağıdaki linkten firefox için driver’ını kurdum.

Diğer tarayıcılarla çalışmak isterseniz aşağıdaki linkten diğer tarayıcılar için driver’ları bulabilirsiniz.

Bir Python dosyası oluşturdum ve o dosya için bu komutu çalıştırdım.

C:\Python35\Scripts\pip.exe install selenium

Sonrasında oluşturduğum Python dosyasında webdriver’ı ve sitenin yüklenmesini bekleyebilmek için sleep’i import ettim. Firefox’u kullanacağım için webdriver.Firefox() kodunu yazdım.

Sahibinden.com’da Altunizade’de 500.000 ile 1.000.000 arasındaki evleri listelemek için kodları yazmaya başladım. Öncelikle https://www.sahibinden.com/’a gitmek için driver.get() metodunu kullandım. Sitenin yüklenmesi için sleep komutuyla bekleme süresi koydum.

Derlemek için aşağıdaki komutu yazdım.

Ardından firefox’ta site açıldı.

Şimdi soldaki “Emlak” bağlantısına gitmemiz lazım. Bunun için oraya tıklamasını sağlamamız lazım. Öncelikle Html kodlarını inceleyerek nereyi seçeceğimizi belirleyelim.

Title’ı “Emlak” olan bir div’i seçmemiz lazım. Bunun için driver.find_element_by_xpath() herhangi bir elementi seçmemizi sağlayan kodunu kullanmamız gerekiyor. Ardından bu seçtiğimiz elemente tıklamamızı sağlayan click() metodunu kullanmamız gerekiyor.

Bu kodu ekleyip çalıştırdığımızda artık “Emlak” sayfasındayız.

Artık istediğimiz elementi alıp il, ilçe gibi yerlere tıklatarak istediğimiz aramayı yapabiliriz. Input’lara değer girmek için de send_keys() metodunu kullanacağız.

Bu kodu yazdığımızda aşağıdaki hatayı aldık.

Çünkü aşağıdaki görselde görüldüğü gibi açtığımız combobox “Ara” butonunu kapattı. Bu yüzden butona tıklayamadı.

Bunu da ekranda herhangi boş bir alana tıklama işlemi yaptırarak çözebiliriz.

Evet! Artık Altunizade’deki 500.000–1.000.000 TL arasındaki evleri görebiliyoruz.

Sonuç

Sonuç olarak Selenium web tarayıcılarında manuel olarak bizi çok zorlayacak testleri kolaylıkla yapmamızı sağlayan, lisans ücreti olmayan, neredeyse tüm dilleri ve tüm tarayıcıları destekleyen gayet kullanışlı bir test otomasyonudur.

Kaynakça:

https://www.mertmekatronik.com/selenium-nedir

https://medium.com/@ayse.aydn08/selenium-nedir-neden-kullan%C4%B1l%C4%B1r-16e58d873add

--

--