- Web otomasyonu/testlerinde Selenium fiilen standarttı
- Başlaması kolay ve neredeyse tüm programlama dillerini destekliyor
- Yeterli, ama tam da o kadar
- Modern JavaScript framework'leri kullanan sitelerde iyi çalışmıyor (Angular, React, ..)
→ Bu, hiç çalışmadığı anlamına gelmiyor; sadece çok iyi çalışmadığı anlamına geliyor
- Dokümantasyonunun iyi olduğu söylense de, pratikte ana akışın biraz dışına çıkan bir şey yapmak istediğinizde örnek bulmak zor
- Chai, Mocha, Cypress gibi araçları denemek istedim ama yapılandırmaları tamamen farklı ve Python geliştiricileri için kolay değil
- Selenium'un yerine onlarca alternatif yapıldı, ancak çoğu birkaç yıl içinde ortadan kayboldu
Enter Playwright
- Harika ve üstelik Microsoft tarafından geliştiriliyor olması önemli; uzun süre desteklenecektir
- Playwright'ın killer özelliği "testleri otomatik oluşturma"
- Tarayıcıyı açıp adım adım işlemleri yaparsanız bunu kaydedip Python script'i olarak oluşturuyor
- Selenium'da XPath gibi şeyleri bulma zahmetini azaltıyor
- Bu şekilde kaydedilen adımlar neredeyse hiç değişiklik yapmadan doğrudan çalıştırılabiliyor
- Bir başka avantajı da çalışma sürecini video olarak kaydedip izleyebilmeniz
- Tek dezavantajı hâlâ yeni olması; hata da çok, dokümantasyonu da iyi değil
- Ama genel olarak bakınca, tüm yeni projelerde ben Playwright'ı seçerdim
4 yorum
Puppeteer kullanırken tamamen Playwright’a geçişi başarıyla tamamlamış biri olarak, yalnızca Playwright’ın codegen özelliğinin bile geçmeye değecek kadar büyük bir avantaj sunduğunu düşünüyorum.
Uzun süredir sadece Puppeteer kullanan ve yalnızca node tarafında çalışan biri olarak, Playwright'a geçmek pek de kolay gelmiyor.
Mevcut projeleri taşımayı düşünmekle başlamak yerine, önce yeni bir projeye başlarken Playwright’ı yeni baştan kullanmayı aktif olarak değerlendirmeye ne dersiniz? Ya da bir oyuncak proje başlatmak da iyi bir fikir olabilir.
Bence Playwright, diller arasında (JS, Python) daha tutarlı bir API sunuyor ve biraz daha temiz görünüyor.
Özellikle Python tarafında
asyncdesteği gerçekten çok iyi haha