Ana içeriğe geç

Playwright

Okunuşu
pleyrayt
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/playwright

Kısaca

Playwright, Chromium, Firefox ve WebKit'i tek bir API ile yöneten, Microsoft'un uçtan uca test ve tarayıcı otomasyonu için açık kaynaklı framework'üdür.

Playwright nedir?

Playwright, daha önce Google'da Puppeteer'ı geliştirmiş mühendisler tarafından kurulup 2020'de Microsoft tarafından yayımlandı. Gerçek tarayıcıları denetler: Chrome ve Edge için Chromium'u, Firefox'u ve Safari'nin arkasındaki motor olan WebKit'i. Böylece tek bir test, bir kayıt ya da ödeme akışının her yerde aynı çalıştığını denetleyebilir. Testler JavaScript ya da TypeScript, Python, Java veya .NET ile yazılabilir.

Bir test bir sayfa açar, öğeleri bulur ve onlar üzerinde bir kullanıcı gibi işlem yapar: tıklar, yazar, menülerden seçer ve dosya yükler. getByRole("button", { name: "Sign in" }) gibi locator'lar öğeleri insanların ve ekran okuyucuların gördüğü biçimde bulur; bu da işaretleme değiştiğinde testleri sağlam tutar. Playwright her işlemden önce öğe görünür ve etkin olana kadar otomatik bekler; bu da tarayıcı testlerini kararsız (flaky) yapan zamanlama sorunlarının çoğunu ortadan kaldırır.

Yerleşik test çalıştırıcısı Playwright Test, testleri paralel çalıştırır, telefonları ve ekran boyutlarını taklit eder, ağ isteklerini yakalayabilir ve ekran görüntülerini karşılaştırır. Bir test CI'da başarısız olduğunda trace viewer, her adımı ekran görüntüleri, DOM anlık görüntüleri ve ağ çağrılarıyla yeniden oynatır. Bir kod üreteci de tarayıcıdaki tıklamaları kaydedip bir teste dönüştürebilir.

Sık yapılan bir yanlış, Playwright'ın birim testlerinin yerini aldığı düşüncesidir. Uçtan uca testler daha yavaştır ve bütün kullanıcı yolculuklarını denetler; bu yüzden test piramidinin tepesinde durur, mantığın büyük kısmını yine hızlı birim ve entegrasyon testleri kapsamalıdır. Selenium ve Cypress'e göre Playwright daha yenidir ve tek bir testte birden çok tarayıcıyı, sekmeyi ve origin'i kutudan çıktığı gibi destekler.

Önemli noktalar

  • Playwright, Chromium, Firefox ve WebKit'i tek bir API ile otomatikleştirir.
  • Role dayalı locator'lar öğeleri kullanıcıların gördüğü biçimde bulur.
  • Her işlemden önceki otomatik bekleme kararsız testleri azaltır.
  • Test çalıştırıcısı paralel çalıştırma, cihaz taklidi, ekran görüntüleri ve izler ekler.
  • Uçtan uca testler birim ve entegrasyon testlerinin yerini almaz, onları tamamlar.

Örnek

Bir giriş akışının uçtan uca testitypescript
import { test, expect } from "@playwright/test";

test("a user can sign in", async ({ page }) => {
  await page.goto("https://example.com/login");

  await page.getByLabel("Email").fill("ada@example.com");
  await page.getByLabel("Password").fill("correct horse battery");
  await page.getByRole("button", { name: "Sign in" }).click();

  // Waits automatically until the heading appears
  await expect(page.getByRole("heading", { name: "Welcome, Ada" })).toBeVisible();
});

Sık sorulan sorular

Playwright ile Selenium arasındaki fark nedir?

İkisi de gerçek tarayıcıları otomatikleştirir. Selenium daha eskidir, WebDriver standardını kullanır ve birçok dili ve tarayıcıyı destekler. Playwright ise tarayıcılarla daha doğrudan konuşur, otomatik bekler ve modern bir test çalıştırıcı, iz kaydı ve ağ denetimi içerir.

Playwright ile Cypress arasındaki fark nedir?

Cypress testleri tarayıcının içinde çalıştırır ve etkileşimli çalıştırıcısıyla bilinir. Playwright ise tarayıcıları dışarıdan denetler; bu da birden çok sekmeyi, origin'i ve WebKit dahil tarayıcıyı kolaylaştırır.

Playwright test dışında da kullanılabilir mi?

Evet. Ekran görüntüsü almak, PDF üretmek ve sayfalardan veri kazımak gibi genel tarayıcı otomasyonunda da, web sitelerini kullanan yapay zekâ ajanlarında da kullanılır.

Sık karşılaştırılanlar

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar