44 puan yazan xguru 2022-11-14 | 4 yorum | WhatsApp'ta paylaş
  • 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

 
yangeok 2022-11-21

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.

 
joone 2022-11-15

Uzun süredir sadece Puppeteer kullanan ve yalnızca node tarafında çalışan biri olarak, Playwright'a geçmek pek de kolay gelmiyor.

 
kunggom 2022-11-15

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.

 
kbumsik 2022-11-14

Bence Playwright, diller arasında (JS, Python) daha tutarlı bir API sunuyor ve biraz daha temiz görünüyor.
Özellikle Python tarafında async desteği gerçekten çok iyi haha