FUNCTIONAL TESTING WITH SELENIUM: WAITING STRATEGIES & WINDOW MANAGEMENT EĞİTİMİ

Kararsız testleri doğru beklemeyle bitirin

Selenium'da explicit/fluent bekleme stratejileri ve pencere, sekme, frame, alert yönetimi

Functional Testing with Selenium: Waiting Strategies & Window Management Eğitimi, Selenium testlerinde en sık kararsızlık kaynağı olan senkronizasyon ve pencere yönetimini uygulamalı öğretir.

4 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

WebDriverWait ve ExpectedConditions'tan window handle, frame ve alert yönetimine uygulamalı program

Functional Testing with Selenium: Waiting Strategies & Window Management Eğitimi, web testlerinde en sık kararsızlık (flaky) kaynağı iki konuyu ele alır. Katılımcılar implicit wait sınırını kavrar; WebDriverWait, ExpectedConditions ve FluentWait ile senkronizasyon kurup özel koşullar yazar. Ardından window handle ile sekme ve pencereleri, switchTo ile frame ve iframe'leri, JavaScript alert kutularını yönetir; beklemeyle pencere geçişini birleştirip stabil senaryo kurar.

Süre ve Format

4 Gün. Her gün dört modül; kısa anlatımların ardından dinamik bir demo üzerinde bekleme ve pencere senaryolarının kodlandığı atölyelerle ilerler.

Seviye

Orta Seviye — Selenium'da senkronizasyon ve pencere yönetimini sağlamlaştırmak isteyen test mühendisleri için

Öğrenme Metodu

Dinamik bir demo sitede explicit ve fluent wait kurulur; yeni sekme, iframe ve alert senaryoları canlı kodlanarak kararsızlık giderilir.

Neden Bu Eğitim?

🎯Kararsızlığı bitirin

Thread.sleep yerine koşula dayalı bekleme kurarak dinamik sayfalarda rastgele başarısız olan testleri güvenilir hale getirirsiniz.

🪟Pencereye hakim olun

Window handle, frame ve alert geçişlerini doğru yöneterek yeni sekme veya iframe açıldığında takılan senaryoları akıcı biçimde çözersiniz.

⚡Hızlı ve stabil

Gereksiz sabit beklemeleri kaldırıp yalnızca koşul sağlanınca ilerleyerek testleri hem daha hızlı hem daha kararlı çalıştırırsınız.

Anahtar Konular

selenium eğitimiselenium bekleme stratejileriwebdriverwait eğitimiselenium frame yönetimiselenium alert yönetimiflaky test çözümüselenium pencere yönetimitest otomasyonu eğitimifluentwait eğitimiqa otomasyon eğitimi
“İyi bir fonksiyonel test, arayüz hazır olmadan tıklamaz ve pencere değişince şaşırmaz. Kararlılık, doğru beklemek ve doğru yere bakmakla başlar.”

Ön Koşullar

Programı verimli izlemek için gereken temel otomasyon bilgisi ve ortam

1
Selenium temeli

WebDriver kurulumu, element bulma ve temel tıklama, yazma gibi etkileşimleri bilmek gerekir.

2
Java bilgisi

Sınıf, metot, lambda ifadeleri ve istisna yönetimi gibi temel Java kavramlarına aşinalık beklenir.

3
Locator kullanımı

CSS selector ve XPath ile element seçme konusunda temel düzeyde pratik faydalı olur.

4
Geliştirme ortamı

IntelliJ veya Eclipse, JDK ve Maven ya da Gradle kurulu bir çalışma ortamı gerekir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı test kararsızlığının zamanlamadan kaynaklanan nedenlerini kavrar, implicit wait'in nasıl çalıştığını ve nerede yetersiz kaldığını görerek doğru bekleme stratejisini seçer.
Modül 1
Fonksiyonel Testte Senkronizasyon
  • Dinamik ve AJAX ile yüklenen içeriğin test üzerindeki etkisi
  • Sayfa yükü ile element görünürlüğü arasındaki zamanlama farkı
  • DOM hazır olmadan etkileşimin ElementNotInteractable hatası
  • Render süresi ve ağ gecikmesinin test kararlılığına etkisi
  • Senkronizasyonun fonksiyonel testteki belirleyici rolü
  • Tarayıcı ve sürücü arasındaki komut akışının zamanlaması
Modül 2
Implicit Wait Mekaniği
  • implicitlyWait ile global bekleme süresinin tanımlanması
  • Element bulunana kadar sürücünün yoklama davranışı
  • Implicit wait'in yalnızca element bulmayı kapsaması
  • Görünürlük ve tıklanabilirliği kapsamaması sınırı
  • Varsayılan sıfır bekleme değeriyle anlık arama
  • Oturum boyunca geçerli olması ve kapsam etkisi
Modül 3
Flaky Test ve Zamanlama Sorunları
  • Aynı testin bazen geçip bazen kalmasının zamanlama kökeni
  • StaleElementReferenceException'ın oluşma nedenleri
  • Thread.sleep ile sabit beklemenin güvenilmez olması
  • Kısa beklemede erken, uzun beklemede yavaş test ikilemi
  • Animasyon ve geçiş efektlerinin etkileşimi geciktirmesi
  • Kararsızlığın CI ortamında daha sık görülme nedeni
Modül 4
Bekleme Stratejisi Seçimi
  • Implicit ve explicit wait'in aynı anda kullanım riski
  • Koşula dayalı beklemenin sabit beklemeye üstünlüğü
  • Hangi senaryoda hangi bekleme türünün uygun olduğu
  • Bekleme süresi üst sınırının makul belirlenmesi
  • Tek bir bekleme yaklaşımında tutarlı kalma ilkesi
  • Beklemeyi yardımcı metotlarda merkezden yönetme
Günün hedefiKatılımcı WebDriverWait ve ExpectedConditions ile koşula dayalı bekleme kurar, FluentWait ile yoklama aralığını ayarlar ve kendi özel bekleme koşullarını yazarak zorlu senaryoları çözer.
Modül 1
WebDriverWait ve ExpectedConditions
  • WebDriverWait nesnesinin süre ile oluşturulması
  • until metoduyla koşul sağlanana kadar bekleme
  • ExpectedConditions sınıfının temel kullanımı
  • Bekleme başarısızlığında TimeoutException davranışı
  • Koşul sağlanınca elementin doğrudan döndürülmesi
  • Bekleme süresinin test hızına dengeli yansıması
Modül 2
Hazır ExpectedConditions Kataloğu
  • visibilityOfElementLocated ile görünürlük beklemesi
  • elementToBeClickable ile tıklanabilirlik beklemesi
  • presenceOfElementLocated ile DOM'da varlık kontrolü
  • textToBePresentInElement ile metin oluşumu beklemesi
  • invisibilityOfElement ile yükleniyor ikonunun kaybolması
  • alertIsPresent ve frameToBeAvailable koşulları
Modül 3
FluentWait ve Yoklama Ayarı
  • FluentWait ile toplam süre ve yoklama aralığı tanımı
  • pollingEvery ile DOM'u sorgulama sıklığının ayarı
  • ignoring ile belirli istisnaları yok sayma
  • withMessage ile anlamlı zaman aşımı mesajı verme
  • FluentWait ile WebDriverWait arasındaki ilişki
  • Yavaş yüklenen bileşenlerde esnek bekleme tasarımı
Modül 4
Özel Bekleme Koşulları
  • ExpectedCondition arayüzüyle lambda temelli koşul yazma
  • Birden çok koşulu birlikte bekleyen mantık kurma
  • Öznitelik değeri değişimini bekleyen özel koşul
  • JavaScript ile document.readyState kontrolü beklemesi
  • jQuery.active ile AJAX çağrılarının bitmesini bekleme
  • Özel koşulları yeniden kullanılabilir metotlara taşıma
Günün hedefiKatılımcı window handle'larla birden çok pencere ve sekme arasında geçiş yapar, switchTo ile frame ve iframe'lere girer, iç içe ve dinamik frame yapılarını güvenle yönetir.
Modül 1
Pencere Tanıtıcıları (Handle)
  • getWindowHandle ile aktif pencere tanıtıcısını alma
  • getWindowHandles ile tüm pencere tanıtıcılarını listeleme
  • Tanıtıcıların oturum içinde benzersiz olması
  • Pencere açılışının zamanlamasını bekleme gereği
  • Set üzerinde dolaşarak hedef pencereyi bulma
  • İşlem sonrası ana pencereye güvenli dönüş
Modül 2
Yeni Sekme ve Pencere Yönetimi
  • switchTo().window ile hedef pencereye geçiş
  • Bağlantının yeni sekmede açılması senaryosu
  • newWindow ile programatik sekme veya pencere açma
  • Açılan pencerede işlem yapıp kapatma akışı
  • driver.close ile yalnızca aktif pencereyi kapatma
  • Pencere sayısının beklenen değere ulaşmasını bekleme
Modül 3
Frame ve iFrame Geçişi
  • iframe içindeki elemente doğrudan erişilememe nedeni
  • switchTo().frame ile indeks üzerinden geçiş
  • Frame'e ad veya id ile geçiş yapma
  • WebElement referansıyla frame'e geçiş
  • defaultContent ile ana belgeye dönüş
  • frameToBeAvailableAndSwitchToIt ile güvenli geçiş
Modül 4
İç İçe ve Dinamik Frame
  • İç içe frame yapısında katman katman geçiş
  • parentFrame ile bir üst frame'e çıkma
  • Dinamik üretilen frame'leri koşullu bulma
  • Reklam ve ödeme iframe'leriyle çalışma örneği
  • Frame içi element kararsızlığını beklemeyle giderme
  • Yanlış bağlamda arama hatasının teşhisi
Günün hedefiKatılımcı JavaScript alert ve onay kutularını yönetir, tarayıcı dışı diyalogların sınırını kavrar, bekleme ve pencere geçişlerini birleştirerek kararlı bir fonksiyonel test çerçevesi kurar.
Modül 1
JavaScript Alert ve Onay Kutuları
  • switchTo().alert ile açık uyarıya geçiş
  • accept ve dismiss ile onaylama ve iptal
  • getText ile uyarı mesajını okuma
  • sendKeys ile prompt kutusuna metin girme
  • alertIsPresent ile uyarının oluşmasını bekleme
  • NoAlertPresentException'ın oluşma nedeni
Modül 2
Tarayıcı Dışı Popup ve Diyaloglar
  • İşletim sistemi dosya seçme penceresinin WebDriver sınırı
  • sendKeys ile file input'a doğrudan yol verme
  • Temel kimlik doğrulama popup'ı için URL yaklaşımı
  • Yeni pencere ile modal popup ayrımının yapılması
  • Çerez ve bildirim izni diyaloglarının yönetimi
  • Robot veya harici araç gerektiren durumların sınırı
Modül 3
Bekleme ve Pencere Senaryolarının Birleşimi
  • Yeni sekme açılışını explicit wait ile bekleme
  • Frame'e geçmeden önce frame hazır olmasını bekleme
  • Alert oluşumunu bekleyip ardından yönetme
  • Pencere kapanıp ana pencereye dönüşün doğrulanması
  • Birleşik senaryoda yardımcı metotların tasarımı
  • Gerçekçi bir uçtan uca akışın adım adım kurulması
Modül 4
Stabil Fonksiyonel Çerçeve
  • Bekleme ve pencere metotlarını temel sınıfta toplama
  • Page Object içine güvenli bekleme yerleştirme
  • Tekrarlanan bekleme kalıplarını tek metoda indirgeme
  • Zaman aşımı değerlerini yapılandırmadan okuma
  • Kararsız testleri ayıklamak için log ve ekran görüntüsü
  • Çerçeve genelinde tutarlı senkronizasyon ilkesi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Kararsızlık teşhisi

Zamanlama kökenli flaky testleri tanıyıp StaleElement ve NotInteractable gibi hataların nedenini açıklayabilirsiniz.

✅
Explicit wait

WebDriverWait ve ExpectedConditions ile koşula dayalı güvenilir bekleme kurup Thread.sleep kullanımını bırakırsınız.

✅
FluentWait kontrolü

FluentWait ile toplam süre, yoklama aralığı ve istisna yok sayımını ayarlayarak yavaş bileşenleri yönetirsiniz.

✅
Özel koşul yazımı

ExpectedCondition arayüzüyle AJAX ve öznitelik değişimi gibi durumlar için kendi bekleme koşullarınızı yazarsınız.

✅
Pencere geçişi

Window handle'larla birden çok sekme ve pencere arasında güvenle geçiş yapıp ana pencereye dönersiniz.

✅
Frame yönetimi

switchTo ile iç içe frame ve iframe yapılarına girip ana belgeye dönerek frame içi elementlere erişirsiniz.

✅
Alert yönetimi

JavaScript alert, onay ve prompt kutularını accept, dismiss ve sendKeys ile doğru biçimde yönetirsiniz.

✅
Stabil çerçeve

Bekleme ve pencere mantığını merkezden toplayarak hızlı ve kararlı bir fonksiyonel test çerçevesi kurarsınız.

Kimler İçin Uygundur?

  • Selenium WebDriver ile temel test yazan
  • ancak dinamik yüklenen sayfalarda kararsız testler
  • zamanlama hataları ve yeni pencere
  • frame veya alert geçişlerinde takılma yaşayan test otomasyon mühendisleri
  • QA uzmanları için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Selenium WebDriver ile temel test yazabilen, ancak dinamik yüklenen sayfalarda kararsız testler, zamanlama hataları ve yeni pencere, frame veya alert geçişlerinde takılma yaşayan test otomasyon mühendisleri ve QA uzmanları için uygundur. Orta düzey bir programdır.
Eğitimin süresi ve formatı nedir?
Eğitim dört gün sürer ve her gün dört modülden oluşur. Kısa anlatımların ardından dinamik bir demo uygulaması üzerinde bekleme ve pencere senaryoları canlı kodlanır. Yüz yüze veya online yapılabilir ve kurumun test ihtiyacına uyarlanabilir.
Thread.sleep yerine neden explicit wait öğreniliyor?
Thread.sleep sabit süre beklediği için ya gereksiz yavaşlatır ya da erken ilerleyip teste zarar verir. Explicit wait yalnızca koşul sağlanınca devam ettiğinden hem daha hızlı hem daha kararlıdır. Eğitim bu nedenle koşula dayalı beklemeyi temel alır ve sabit beklemeyi bırakmayı hedefler.
Hangi araçlar kullanılıyor?
Java, Selenium WebDriver, WebDriverWait, ExpectedConditions ve FluentWait sınıfları kullanılır. Senaryolar dinamik bir demo web uygulaması üzerinde kurulur; Maven veya Gradle ile derlenir ve IntelliJ ya da Eclipse üzerinde çalışılır.
Eğitim sonunda sertifika veriliyor mu?
Programı tamamlayan katılımcılar Digital Vizyon Akademi Katılım ve Başarı Sertifikası alır. Sertifika tamamlanan modülleri ve uygulamalı bekleme ile pencere yönetimi atölyelerini belgeler; kurumsal gruplara özel senaryo uyarlaması yapılabilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Functional Testing with Selenium: Waiting Strategies & Windo Sertifika Kodu DV-2026XX00 Tarih 15.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Test OtomasyonuDeep Dive Cucumber Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Deep Dive Cucumber Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

Cucumber ile BDD eğitimi. Gherkin, step definition, Cucumber expression, data table, scenario outline, Selenium entegrasyonu ve raporlama uygulamalı işlenir.

Detayları Gör →
Test OtomasyonuETL Testing Essentials: Test Automation Eğitimi
Yazılım Testi ve Kalite Eğitimleri

ETL Testing Essentials: Test Automation Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

ETL testi eğitimi. Veri ambarı, kaynak-hedef doğrulama, dönüşüm testi, veri kalitesi, SQL doğrulama ve test otomasyonu uygulamalı olarak işlenir.

Detayları Gör →
Test OtomasyonuFunctional Testing with Selenium: Advanced Selenium Features & Framework Design Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Functional Testing with Selenium: Advanced Selenium Features & Framework Design Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

İleri Selenium ve çerçeve tasarımı eğitimi. Actions, JavascriptExecutor, Page Object, PageFactory, TestNG, raporlama ve paralel koşum uygulamalı işlenir.

Detayları Gör →
Test OtomasyonuFunctional Testing with Selenium: Interacting with Complex UI Functionality Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Functional Testing with Selenium: Interacting with Complex UI Functionality Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

Selenium ile karmaşık UI etkileşimi eğitimi. Açılır liste, iframe, çoklu pencere, tablo, takvim, Shadow DOM ve dosya işlemleri uygulamalı işlenir.

Detayları Gör →
Test OtomasyonuGelişmiş Selenium Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Gelişmiş Selenium Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

Gelişmiş Selenium eğitimi: Page Object Model, Actions API, JavascriptExecutor, TestNG veri odaklı test, Selenium Grid ve paralel koşum. Online ve kurumsal.

Detayları Gör →
Test OtomasyonuGelişmiş TestStand: Üst Seviye Becerileri Test Automation Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Gelişmiş TestStand: Üst Seviye Becerileri Test Automation Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

İleri NI TestStand eğitimi: sekans mimarisi, Parallel ve Batch process model, özel step type, hata yönetimi, veri tabanı ve Deployment Utility. Online ve kurums

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn