🖼️ iframe · Alert · Popup · Çoklu Sekme
iframe · Alert · Popup · Çoklu Sekme: iframe, sayfa içindeki bağımsız bir belge penceresidir — tıpkı büyük bir ofis binasının içindeki kiracı ofis gibi: binanın kendi güvenlik si
iframe, sayfa içindeki bağımsız bir belge penceresidir — tıpkı büyük bir ofis binasının içindeki kiracı ofis gibi: binanın kendi güvenlik sistemleri, asansörleri ve personeli vardır, ama içindeki kiracı ofis kendi ayrı kapısına, kendi resepsiyonuna sahiptir; birinin personeline ulaşmak için önce binanın ana girişinden geçmek, sonra kiracı ofisin kapısından içeri girmek gerekir. Peki Selenium'da bu neden bu kadar zahmetliydi? Selenium'da switchTo().frame(index) ile bağlamı değiştirirdin, iş bitince switchTo().defaultContent() ile ana sayfaya geri dönmek zorunda kalırdın — hangi frame'de olduğunu takip etmek, özellikle iç içe frame'lerde ciddi kaynaklara ve dikkat hatasına yol açardı. Java'da bu state yönetimini elle yapıyordun: bir frame'i atladığında "Unable to locate element" hatası alır ve hatanın kaynağı nerede diye dakikalarca bakardın. Playwright'ta page.frameLocator("iframe[name='payment']").locator("#cardNumber").fill("4242") yeterlidir — bağlam değiştirme ve geri dönme işlemi Playwright tarafından otomatik yönetilir. QA gerçeği: ödeme widget'ları, chat araçları ve üçüncü taraf form embed'leri büyük çoğunlukla iframe kullanır; bu bölümü atlayarak gerçek dünya e-ticaret test senaryoları yazılamaz.
1️⃣ iframe — Selenium vs Playwright
❌ Selenium — Karmaşık switchTo()
✅ Playwright — frameLocator()
Micro Lab: Playwright — Aksiyonlar
TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.
Adim Adim: Playwright — Aksiyonlar
page.locator() veya getByRole() ile locatoru hazirla
Playwright'in auto-wait mantigini hatirla: actionable olana kadar bekler
click(), fill(), press(), selectOption() aksiyonunu gerceklestir
Aksiyon sonrasi DOM degisikligini takip et (yeni sayfa, modal, hata mesaji)
await expect(locator).toBeVisible() veya toHaveText() ile sonucu kanitla
Playwright ile UI aksiyonu ve dogrulama sirasi nedir?
2️⃣ Alert · Confirm · Prompt