🎭 Playwright — Modern Tarayıcı Otomasyonu

Playwright, Microsoft tarafından geliştirilen açık kaynaklı bir tarayıcı otomasyon aracıdır. Chrome, Firefox ve Safari'yi TypeScript, Python, Java veya C# ile tek bir API üzerinden kontrol eder. Selenium'dan farkı, elementin gerçekten tıklanabilir olmasını otomatik bekleyen auto-wait mekanizmasıdır — bu sayede flaky (kararsız) testler büyük ölçüde azalır. En yaygın kullanım alanı, modern web uygulamalarının uçtan uca (end-to-end) test otomasyonudur.

Playwright'ı Türkçe anlatımla, TypeScript, Java ve Python örnekleriyle öğren: auto-waiting mantığı, locator API'si, API testi ve mülakat senaryoları.

Microsoft'un geliştirdiği Playwright, Chrome, Firefox ve Safari'yi tek API ile kontrol eder. Auto-wait, network mocking ve paralel test desteğiyle modern QA'nın vazgeçilmezi.

Bu sayfada neler öğreneceksin

  • 🎭 Playwright Nedir? Neden Kullanılır? — Playwright, uçak simülatörü kokpitindeki otopilot sistemi gibi çalışır: sen rotayı söylersin ("şu butona tıkla"), sistem arka planda düzinelerce sensörü eş zamanlı izler (DOM durumu, ağ trafiği, JavaScript eventleri) ve koşullar oluştuğu anda hareket
  • ⚙️ Kurulum — TypeScript · Java · Python — Playwright kurulumu, araç setinin içine hangi adaptörlerin dahil olduğunu önceden belirleyen bir sanayi sertifikasyon paketi gibi çalışır: npm init playwright@latest tek komutla Chromium, Firefox ve WebKit motorlarını, TypeScript derleyicisini ve test runner'ı
  • 🖱️ Temel Aksiyonlar — Selenium ile Karşılaştırma — Playwright aksiyonları, bir GPS navigasyon sisteminin "dörtlü onay katmanı" gibi çalışır: adres girilir, sistem rotayı hesaplar, aracın ilerleyip ilerlemediğini kontrol eder ve hedefe ulaşılınca seni uyarır — her adımda bekleme ve doğrulama otomatikt
  • 🎯 Locator Stratejileri — Locator, sayfadaki bir elementi tarif etmenin yöntemidir — ama sıradan bir adres değil, kütüphane kataloğundaki ISBN numarası gibi: kitabın kapağı değişse, rafı değişse, hatta kütüphane taşınsa bile ISBN aynı kitabı bulur çünkü içeriğe değil, kimliğe atıfta bu
  • ⏳ Bekleme Mekanizmaları (Wait) — Playwright'ın bekleme sistemi, modern bir akıllı trafik ışığı gibi çalışır: ışık sabit bir süre değil, sensörden gelen araç yoğunluğuna göre dinamik olarak açılır — koşul oluştuğunda geçilir, oluşmamışsa beklenir. Peki Selenium'da neden bunca elle bekleme kodu
  • ✅ Doğru Assertion Yazımı (expect) — Playwright'ın expect() fonksiyonu, kalibreli bir kalite kontrol ölçüm cihazı gibi çalışır: ölçüm alır, tolerans aralığını kontrol eder, koşul karşılanana kadar belirlenen aralıklarla yeniden ölçer ve timeout sonunda hâlâ karşılanmamışsa hem beklenen değeri hem
  • 🗂️ Test Organizasyonu & Fixtures — Playwright fixture'ları, Java'daki @BeforeEach metodunun bağımlılık enjeksiyonu (dependency injection) ile güçlendirilmiş halidir: @BeforeEach bir sınıf içindeki her test için aynı hazırlığı yapar ama o hazırlık sonucunu başka bir sınıfa doğrudan geçiremez. Fi
  • 📦 Page Object Model — Doğru Yapılışı — Page Object Model, Java'daki encapsulation ilkesinin test katmanına uygulanmasıdır: bir sınıf kendi iç implementasyonunu gizler ve dışarıya sadece bir API (metod) seti sunar — tıpkı HashMap'in içinde nasıl çalıştığını bilmeden put() ve get() kullanman gibi. Lo

Sık Sorulan Sorular

Playwright nedir?

Playwright, Microsoft tarafından geliştirilen açık kaynaklı bir tarayıcı otomasyon aracıdır. Chrome, Firefox ve Safari'yi TypeScript, Python, Java veya C# ile tek bir API üzerinden kontrol eder.

Playwright ile Selenium arasındaki fark nedir?

Playwright'ın auto-wait mekanizması elementin gerçekten hazır olmasını otomatik bekler, bu yüzden Selenium'a göre çok daha az flaky (kararsız) test üretir. Ayrıca network mock, trace viewer ve browser context izolasyonu gibi built-in özellikleri vardır.

Playwright öğrenmek ne kadar sürer?

Temel aksiyon ve locator kullanımını birkaç günde öğrenebilirsin. Fixture yapısı, Page Object Model ve CI entegrasyonu dahil mülakat seviyesine gelmek genelde 3-5 hafta düzenli pratik gerektirir.

Playwright ücretsiz mi?

Evet, Playwright tamamen ücretsiz ve açık kaynaklıdır (Apache 2.0 lisansı). Trace Viewer ve Codegen dahil hiçbir aracı için ödeme yapmazsın.

Playwright hangi dilleri destekler?

TypeScript, JavaScript, Python, Java ve C# için resmi Playwright kütüphaneleri mevcuttur. TypeScript, en zengin özellik desteğine ve en geniş topluluk kaynağına sahiptir.

En sık karşılaşılan Playwright hatası nedir?

"strict mode violation" — bir locator sayfada birden fazla elementle eşleştiğinde Playwright hata verir (Selenium'un aksine sessizce ilkini almaz). Çözüm, locator'ı `.first()` ile daraltmak veya daha spesifik bir seçici kullanmaktır.

Playwright mülakatında en çok hangi soru sorulur?

Auto-waiting mekanizmasının tam olarak neyi beklediği ve bunun Selenium'daki explicit wait'ten farkı. Ardından fixture kapsamının (test/worker) ne işe yaradığı, `page.route()` ile network mocklamanın nasıl kurulduğu ve Trace Viewer ile bir CI hatasının nasıl debug edildiği sık sorulan takip sorularıdır.