Giriş: Otomasyon Testlerine Adım Atmak
Bir yazılım geliştiricisi olarak, her gün saatlerce manuel testler yapmak oldukça yorucu olabilir. Hadi gelin, bu zorluğu Selenium ile otomasyon testlerine dönüştürelim! Selenium, web uygulamalarını test etmek için kullanılan açık kaynaklı bir araçtır ve Python gibi dillerle entegre çalışabilir. Peki ya Linux kullanıyorsanız? Hiç endişelenmeyin, çünkü burada size adım adım, hızlı bir şekilde Selenium ile nasıl testler yapacağınızı göstereceğim. Hazırsanız, test dünyasına dalalım!
Selenium Nedir ve Neden Linux?
Selenium, web uygulamalarınızı tarayıcı üzerinden otomatikleştirmenizi sağlayan güçlü bir araçtır. Kullanıcı etkileşimlerini, buton tıklamalarını, formları doldurmayı ve daha fazlasını simüle edebilir. Bu sayede zaman kazanır ve hataların erken tespiti sağlanır. Linux ortamında Selenium kullanmak oldukça yaygındır çünkü Linux, performansı yüksek, açık kaynaklı ve daha az kaynak tüketen bir işletim sistemidir.
Gereksinimler: Başlamadan Önce
Selenium'u kullanmaya başlamadan önce, Linux sisteminizde bazı temel yazılımları kurmanız gerekecek. Bu yazılımlar, testlerinizi daha verimli hale getirecektir. İşte ihtiyacınız olanlar:
1. Python: Selenium ile Python dilini kullanarak test yazacağız. Eğer Python kurulu değilse, terminal üzerinden şu komutu kullanarak kurabilirsiniz:
```bash
sudo apt-get install python3
```
2. Selenium Kütüphanesi: Python'da Selenium kullanabilmek için `selenium` kütüphanesini yüklemeniz gerekiyor. Terminalde şu komutu yazın:
```bash
pip install selenium
```
3. WebDriver: Tarayıcıyı otomatik olarak kontrol etmek için bir WebDriver'a ihtiyacınız olacak. Chrome tarayıcı kullanıyorsanız, ChromeDriver'ı indirmeniz gerekecek. Bu işlem, Chrome tarayıcınızla uyumlu olmalıdır.
```bash
sudo apt-get install chromium-chromedriver
```
Şimdi her şey hazır! Artık Selenium ile otomasyon testlerini başlatabiliriz.
İlk Testimizi Yazıyoruz
Hadi gelin, Selenium ile ilk testimizi yazalım. Bu test, basit bir web sayfasına gidip, başlığını kontrol etmek olacak.
Aşağıdaki Python kodunu kullanarak basit bir test yazabilirsiniz:
from selenium import webdriver
from selenium.webdriver.common.by import By
# WebDriver'ı başlatıyoruz
driver = webdriver.Chrome()
# Web sitesine gidiyoruz
driver.get("https://www.google.com")
# Sayfanın başlığını alıyoruz
title = driver.title
# Başlığı ekrana yazdırıyoruz
print("Sayfa Başlığı:", title)
# Tarayıcıyı kapatıyoruz
driver.quit()
Yukarıdaki kod, Google ana sayfasını açacak ve sayfanın başlığını konsola yazdıracaktır. Bu, Selenium ile yapabileceğiniz en basit testlerden biridir.
Testinizi Çalıştırma
Yazdığınız testi çalıştırmak için Python dosyasını terminal üzerinden çalıştırabilirsiniz. Örneğin, `test.py` adında bir dosya kaydettiyseniz, şu komutla çalıştırabilirsiniz:
```bash
python3 test.py
```
Eğer her şey yolundaysa, test başarıyla çalışacak ve sayfa başlığını konsolda göreceksiniz.
Çoklu Test Senaryoları ve Elementlerle Etkileşim
İlk testimizi geçtik, şimdi daha karmaşık testler yazabiliriz. Selenium, HTML elementleriyle etkileşime girmenizi sağlar. Formlar, butonlar, dropdown menüler ve daha fazlasını otomatikleştirebilirsiniz. Örneğin, bir formu doldurup göndermek için aşağıdaki gibi bir senaryo yazabilirsiniz.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
# WebDriver'ı başlatıyoruz
driver = webdriver.Chrome()
# Web sitesine gidiyoruz
driver.get("https://www.example.com/contact")
# Formdaki ad alanını buluyoruz ve veri giriyoruz
name_field = driver.find_element(By.NAME, "name")
name_field.send_keys("John Doe")
# Formdaki e-posta alanını buluyoruz ve veri giriyoruz
email_field = driver.find_element(By.NAME, "email")
email_field.send_keys("john.doe@example.com")
# Gönder butonunu buluyoruz ve tıklıyoruz
submit_button = driver.find_element(By.XPATH, "//button[@type='submit']")
submit_button.click()
# Tarayıcıyı kapatıyoruz
driver.quit()
Bu test, bir iletişim formuna veri girecek ve gönderecektir. Tabii, gerçek dünyada bu tür etkileşimler çok daha karmaşık olabilir, ancak bu basit örnekle başlangıç yapabilirsiniz.
Selenium ile Test Senaryolarınızı Geliştirme
Selenium ile çok daha fazla test senaryosu oluşturabilirsiniz. Geliştirdiğiniz testler, farklı web sayfalarındaki elementlere dokunabilir, dinamik içeriği test edebilir, sayfa yüklenme sürelerini kontrol edebilir ve kullanıcı davranışlarını simüle edebilir. Örneğin, JavaScript tabanlı bir web sayfasının doğru şekilde yüklendiğini test etmek için şu şekilde bir senaryo yazabilirsiniz:
from selenium import webdriver
import time
# WebDriver'ı başlatıyoruz
driver = webdriver.Chrome()
# Web sayfasını yüklüyoruz
driver.get("https://www.dynamicwebsite.com")
# Sayfa tamamen yüklensin diye biraz bekliyoruz
time.sleep(5)
# Dinamik içeriği kontrol ediyoruz
dynamic_element = driver.find_element(By.ID, "dynamic-content")
print("Dinamik