⚙️ Kurulum — Java, Python, TypeScript

Kurulum — Java, Python, TypeScript: Selenium kurulumu, Java'da Maven'a bağımlılık eklemek gibi çalışır — ama bir katman daha var: test kodun, tarayıcı sürücüsüne (ChromeDriver),

Selenium kurulumu, Java'da Maven'a bağımlılık eklemek gibi çalışır — ama bir katman daha var: test kodun, tarayıcı sürücüsüne (ChromeDriver), o da asıl Chrome'a bağlanır. Tıpkı JDBC driver'ı ile veritabanı arasındaki köprü gibi. Peki Java ile Selenium'u zaten dene-koştur-düzelt döngüsünde kullanıyorken neden sürücü versiyonunu takip etmek zorundayız? Çünkü Chrome her 4-6 haftada güncellenir ve eşleşmeyen ChromeDriver sürümü "session not created: This version of ChromeDriver only supports Chrome version X" hatasıyla tüm CI pipeline'ını durdurur. Selenium 4'teki Selenium Manager bunu otomatik çözer — Java'daki Gradle'ın bağımlılık version resolution'ı gibi, uyumlu sürücüyü kendisi indirir. Buna rağmen kurulum adımlarını elle de bilmek gerekir: production CI ortamında Selenium Manager'ın internete erişimi olmayabilir, o zaman driver'ı proje artifact olarak kendin yönetirsin.

1️⃣ Java ile Selenium Kurulumu

Maven veya Gradle projesi oluşturup pom.xml'e bağımlılık ekliyoruz. Selenium 4.x'te ChromeDriver otomatik yönetilir.

pom.xml — Maven Bağımlılığı

Micro Lab: Selenium — UI Aksiyonlari

TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.

Adım Adım: pom.xml Bir Jar Dosyasına Nasıl Dönüşür?

Sürüm bir SÖZLEŞMEDİR

pom.xml içinde `selenium-java 4.25.0` yazmak bir dilek değil, kesin bir taleptir — Maven başka hiçbir sürümü kabul etmez.

Maven Central'dan indirilir

Maven bu talebi okur ve repo.maven.apache.org'dan TAM olarak o versiyonun jar dosyasını çeker; yerelde `.m2` önbelleğinde varsa tekrar indirmez.

İndirilen jar, projenin classpath'ine eklenir — bundan sonra `org.openqa.selenium` paketi IDE ve derleyici tarafından TANINIR.

Her makinede AYNI sonuç

Aynı pom.xml başka bir makinede veya CI ajanında çalıştırıldığında aynı sürüm indirilir — "benim makinemde çalışıyordu" sorununun panzehiridir.