🌍 Gerçek Hayat — E-Ticaret Tam Senaryo
Gerçek Hayat — E-Ticaret Tam Senaryo: E-ticaret kritik yol testi, bir havaalanındaki güvenlik zinciri denetimi gibidir: check-in, pasaport, güvenlik, biniş kapısı — tek bir halka
E-ticaret kritik yol testi, bir havaalanındaki güvenlik zinciri denetimi gibidir: check-in, pasaport, güvenlik, biniş kapısı — tek bir halkası kırılırsa uçak kalkar ama yolcu geride kalır ve sistemi kim kırdı tam olarak anlaşılmaz. Aşağıdaki senaryo bu zincirin her halkasını ayrı bir test assertion ile denetler: "giriş başarılı mı, ürün sepete eklendi mi, stok düştü mü, ödeme servisi 200 döndü mü?" Peki bu senaryoyu neden Selenium/Java yerine Playwright ile yazmak mantıklı? Çünkü checkout akışı genellikle ödeme iframe'i, email doğrulaması için yeni sekme ve API bekleme süreleri içerir — Selenium'da bunların her biri ayrı WebDriverWait ve switchTo() satırları gerektirirdi. Playwright'ta frameLocator, page.waitForResponse ve context.newPage() bu karmaşıklığı birkaç satıra indirir. QA gerçeği: e-ticaret sitelerinde "Satın Al" butonunun çalışması yetmez; ödeme servisi başarılı dönse bile sipariş onay e-postası gitmiyor, stok güncellenmiyor veya kullanıcı dashboard'ı doğru siparişi göstermiyorsa production incident sayılır — bu yüzden tek bir aksiyon testi değil, uçtan uca (end-to-end) senaryo testi kritiktir.
1) automationexercise.com'a git 2) Kayıt ol / Giriş yap 3) "Dress" ara 4) İlk ürünü sepete ekle 5) Sepete git 6) Ödeme bilgilerini doldur 7) Siparişi tamamla 8) Sipariş onay sayfasını doğrula
TypeScript — Tam E2E Test
Micro Lab: Playwright — Locator secimi
TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.
Python — Aynı Senaryo
Adim Adim: Playwright — Locator secimi
Once getByRole, getByLabel, getByPlaceholder gibi semantic locator dene
Semantic bulamazsan getByText veya getByTestId kullan
CSS/XPath gerekiyorsa page.locator("css") veya page.locator("xpath=...") yaz
await expect(locator).toBeVisible() ile locatorin calistigini dogrula
Birden fazla element eslesiryorsa .first() / .nth() / .filter() ile daralt
Playwright locator secimi ve dogrulama sirasi nedir?
🎬 Buton Çalıştı, Ama Sipariş Gerçekten Tamamlandı mı?