Beril Tezcan workspace
Yazılım Mühendisi & QA Mühendisi

Beril Tezcan

i2i'de yazılım test mühendisiyim; QA ve test otomasyonu üzerine çalışıyorum. ASP.NET Core ve .NET ile backend geliştirme geçmişim var - ve her gün öğrenmeye, üretmeye ve gelişmeye devam ediyorum.

Software Testing

Getting Started with Selenium

Selenium-1
b
beril@gmail.com Yazılım Mühendisi · QA Mühendisi 👁 194 görüntülenme
Getting Started with Selenium
Bağlantı kopyalandı!

1. Selenium Nedir?

Selenium, kod kullanarak web tarayıcılarını kontrol etmemizi sağlayan bir otomasyon aracıdır. Normalde bir web sitesinde kullanıcı olarak gerçekleştirdiğimiz eylemi düşünelim. Örneğin, Chrome'u açıyoruz, bir web sitesine gidiyoruz, kullanıcı adı ve şifre giriyoruz, Giriş butonuna tıklıyoruz ve giriş yapıp yapamadığımızı kontrol ediyoruz. Selenium bu eylemleri bizim yerimize otomatik olarak gerçekleştirebilir.

Örneğin (Python):

Bu kod, belirtilen web sitesini tarayıcıda açar.

driver.get("https://example.com")

Bu kod, kullanıcı adı alanını bulur ve içine "beril" yazar.

driver.find_element(By.ID, "username").send_keys("beril")

Bu kod, Giriş butonunu bulur ve üzerine tıklar.

driver.find_element(By.ID, "login").click()

Selenium'un temel mantığı:

  • Tarayıcı → Bir öğe bul → Bir eylem gerçekleştir → Sonucu doğrula

2. Selenium Ne Test Eder?

Selenium, esas olarak web uygulamalarını test etmek ve otomatikleştirmek için kullanılır.

Örneğin, bir e-ticaret web sitesinde şu eylemi otomatik olarak test edebiliriz:

  • Kullanıcı girişi
  • Ürün arama
  • Bir ürünü sepete ekleme 
  • Bir formu doldurma
  • Ödeme süreci
  • Kullanıcının doğru sayfaya yönlendirildiğini doğrulama

Örneğin, bir giriş testinde Selenium, kullanıcı adı ve şifre alanlarını doldurabilir, Giriş butonuna tıklayabilir ve başarılı bir giriş sonrasında Dashboard sayfasının açıldığını doğrulayabilir.

3. Selenium Bir Programlama Dili Değildir

Burada önemli bir ayrım var.

Selenium bir programlama dili değildir; bir web otomasyon aracıdır. Selenium farklı programlama dilleriyle kullanılabilir.

Örneğin:

  • Phyton
  • Java
  • C#
  • Javascript
  • Ruby

Bu seride Python + Selenium kullanacağız.

Burada Python bizim programlama dilimiz olacak, Selenium ise web tarayıcısını kontrol etmek için kullandığımız otomasyon aracı olacak.

4. Selenium WebDriver Nedir?

WebDriver, Selenium'un bir web tarayıcısıyla iletişim kurmasını sağlayan temel bileşenlerden biridir.

Bunu basitçe şu şekilde düşünebiliriz 

Python kodumuz → Selenium WebDriver → Chrome → Web sitesi

Python kodumuz Selenium WebDriver ile iletişim kurar ve WebDriver tarayıcı ile iletişim kurar.

Örneğin:

driver.get("https://google.com")

Bu kodu yazdığımızda Python doğrudan Chrome'a bir komut göndermez. Bunun yerine Selenium, WebDrive kullanarak tarayıcıya istenen eylemi gerçekleştirmesini söyler.

5. Driver Nedir?

Selenium kodunda sık sık "driver" kelimesini göreceğiz. “driver”, açtığımız tarayıcı oturumunu kontrol etmemizi sağlayan nesnedir.

Örneğin: 

driver.get("https://google.com")

Burada driver tarayıcıyı temsil eder. Daha sonra driver üzerinden birçok farklı eylem gerçekleştirebiliriz.

Örneğin:

Bir önceki sayfaya geri döner.

driver.back()

Sayfayı yeniler.

driver.refresh()

Tarayıcı oturumunu kapatır.

driver.quit()

6. Selenium ile Neler Yapabiliriz?

Selenium kullanarak, gerçek bir kullanıcı gibi tarayıcıda birçok eylem gerçekleştirebiliriz.

Bir web sitesi açma

driver.get("https://example.com")

Bir öğe bulma

driver.find_element(...)

Bir giriş alanına metin yazma

element.send_keys("Beril")

Bir butona tıklama

element.click()

Bir öğenin metnini okuma

element.text

Sayfa başlığını alma

driver.title

Tarayıcıyı kapatma

driver.quit()

Bunlar Selenium öğrenirken kullanacağımız temel yapı taşlarıdır.

7. Selenium Bir Öğeyi Nasıl Bulur?

Selenium öğrenirken en önemli kavramlardan biri öğe bulmadır.

Örneğin, web sayfamızda şu HTML kodunun olduğunu düşünelim:

<input id="username" type="text">

Selenium'a bu öğeyi bulmasını söylememiz gerekiyor. Bunun için bir locator kullanırız. Locator, bir web sayfasındaki belirli bir öğeyi tanımlamak için kullanılan bir yöntemdir. Örneğin, öğeyi ID'sini kullanarak bulabiliriz:

driver.find_element(By.ID, "username")

Burada: 

By.ID

Öğeyi bulmak için hangi yöntemi kullanacağımızı belirtir.

"username"

Bu, bulmak istediğimiz öğenin ID değeridir.

8. Locator Türleri

Selenium farklı locator stratejileri sunar.

Örneğin:

ID
NAME
CLASS_NAME
TAG_NAME
LINK_TEXT
PARTIAL_LINK_TEXT
CSS_SELECTOR
XPATH

Ancak başlangıçta hepsini ezberlememize gerek yok. Özellikle şu üç yönteme odaklanacağız:

  1. By.ID
  2. By.CSS_SELECTOR
  3. By.XPATH

Bunları gelecek bölümlerde gerçek HTML örnekleri kullanarak tek tek öğreneceğiz.

9. İlk Selenium Scriptimiz

Artık temel kavramı anladığımıza göre ilk Selenium programımızı yazabiliriz.

from selenium import webdriver

driver = webdriver.Chrome()

driver.get("https://www.google.com")

print(driver.title)

driver.quit()

Şimdi bu kodu satır satır inceleyelim.

from selenium import webdriver

Selenium'un WebDriver bileşenini Python projemize dahil ediyoruz.

driver = webdriver.Chrome()

Chrome tarayıcısını başlatıyoruz.

driver.get("https://www.google.com")

Google web sitesini açıyoruz.

print(driver.title)

Açılan sayfanın başlığını terminale yazdırıyoruz.

driver.quit()

Tarayıcı oturumunu kapatıyoruz.

 

Yorumlar

Henüz yorum yok. İlk yorumu sen yap!