🚨 Yaygın Hatalar

Yaygın Hatalar: 🚨 Common Errors & How to Fix Them Locator yanlış yazılmış, element henüz yüklenmemiş (dynamic content), ya da element başka bir iframe içinde.

🚨 Common Errors & How to Fix Them

Locator yanlış yazılmış, element henüz yüklenmemiş (dynamic content), ya da element başka bir iframe içinde.

DOM yenilendi (sayfa reload, AJAX, React re-render) ve eski element referansı artık geçersiz.

WebDriverWait bekleme süresi doldu ama koşul gerçekleşmedi. Element hiç gelmedi ya da farklı bir locator.

Başka bir element (overlay, modal, cookie banner, navbar) tıklanmak istenen butonun üzerinde.

Fixture conftest.py'de tanımlanmamış ya da scope uyumsuz.

FAILED = assertion başarısız (test çalıştı ama beklenen sonuç gelmedi). ERROR = exception fırlattı (test setup/teardown'da ya da test içinde beklenmedik hata).

🎬 Bir Traceback Nasıl Okunur? Yukarıdan Değil, AŞAĞIDAN Başla

Kırmızı Duvar Dolusu Metin

En Alt: Gerçek Hata + Satır

Bir traceback ilk bakışta korkutucu bir kırmızı metin duvarı gibi görünür. Ama içinde bir SIRA vardır ve bu sıra Java'daki stack trace ile AYNI mantıkla işler. Bu filmde onu doğru sırayla okumayı izleyeceğiz.

Adım 1 — traceback'in EN ÜSTÜ "Traceback (most recent call last):" satırıyla başlar ve çağrı zincirinin İLK adımını gösterir — genelde test fonksiyonunun kendisi. Buradan başlamak seni YANLIŞ yola sokar çünkü bu satır SORUNUN kendisi değil, sadece BAŞLANGIÇ noktasıdır.

Adım 2 — ORTA satırlar çağrı zincirini gösterir: `test_login` → `login_page.submit()` → `wait_for_element()` gibi, fonksiyonun İÇİNDEN İÇİNE giden yolu izler. Bu, "hata NEREDEN buraya geldi" sorusunun CEVABIDIR ama henüz "asıl hata NE" sorusunun değil.

Adım 3 — traceback'in EN ALTI, GERÇEK hatayı, tam satır numarasını ve exception tipini gösterir: `TimeoutException: element not found within 10s`. QA mühendisleri için "buradan başla" kuralı TAM OLARAK bu satırdır — kök nedeni burada BULURSUN.