🔗 Ekosistem — TestNG, Maven, Jenkins, Grid
Ekosistem — TestNG, Maven, Jenkins, Grid: Selenium ekosistemini bir restoran mutfağı gibi düşün: Selenium tek başına yalnızca bıçaktır — kesmeyi bilir, ama sipariş almayı, malzem
Selenium ekosistemini bir restoran mutfağı gibi düşün: Selenium tek başına yalnızca bıçaktır — kesmeyi bilir, ama sipariş almayı, malzeme tedarik etmeyi, tabakları servise çıkarmayı bilmez. Maven tedarikçidir, TestNG mutfaktaki sıralamayı kuran şeftir, Jenkins siparişleri sürekli mutfağa taşıyan servis bandıdır, Grid ise tek ocak yerine yan yana çalışan yirmi ocaktır. Somut karşılığı şudur: Selenium ekosistemi, Java geliştirme zincirinin test otomasyonuna taşınmış halidir: Maven → bağımlılık yönetimi (pom.xml'e selenium-java eklersin), TestNG → @BeforeMethod/@AfterMethod ile test lifecycle yönetimi (JUnit'in @BeforeEach/@AfterEach muadili), Jenkins → her commit'te testleri tetikleyen CI sunucusu, Selenium Grid ise JUnit'in paralel runner'ının tarayıcı boyutuna genişlemesi. Peki tek bir bilgisayarda Selenium testleri çalışıyorken neden Grid eklemek gerekiyor? Çünkü 200 E2E test tek bir Node'da sırayla çalıştığında CI pipeline'ı 40-60 dakika bloklayabilir; Grid ile bu testler aynı anda 20 paralel Node'a dağıtılır, toplam süre 3-4 dakikaya düşer. QA ekibi için bu fark somuttur: bir Jenkins job'ı 60 dakika sürerse geliştiriciler "zaten bekleyemem" deyip commit'in üzerine commit atmaya başlar, hatalar yığılır ve test sonuçları kimsenin önemsemediği bir rapora dönüşür — hızlı feedback loop, test kültürünün hayatta kalma koşuludur.
Selenium Ekosistem Haritası
Jenkins/GitHub Actions
Allure/ExtentReports
Her araç birbirini tamamlar — Selenium sadece ortadaki parça.
1. TestNG — Java Test Runner
Java — TestNG Örneği
Micro Lab: Selenium Grid — Paralel test
TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.
2. Selenium Grid — Paralel & Uzak Testler
Selenium Grid Nedir?
Selenium Grid, testleri aynı anda birden fazla makine ve tarayıcıda çalıştırmanızı sağlar. Hub (koordinatör) ve Node (çalıştırıcı) mimarisi kullanır. Selenium 4 Grid 4 ile dağıtık yapı daha da basitleşti.
Terminal — Selenium Grid 4 Kurulum
Adım Adım: Hub Önce mi, Node Önce mi Başlatılır?