CodeBlanks Logo Icon CodeBlanks

E2E test

End-to-end test ve Playwright öğrenirsin.

E2E test (uçtan uca)

Bir E2E testi, uygulamayı gerçek bir tarayıcıda sınamaktır. Tüm zincir sınanır: arayüz, sunucu, veritabanı. Kullanıcının gerçekten ne yapacağı taklit edilir. Bu, en gerçekçi test türüdür; ama en yavaş olanıdır.

Node.js'te Playwright veya Cypress popüler E2E araçlarıdır. Örnek: test("kayıt", async () => { await page.goto("/signup"); await page.fill("#name", "Ayşe"); await page.click("#submit"); await expect(page.locator(".welcome")).toHaveText("Hoş geldin"); });. Bu test, tarayıcıyı açar, kayıt formunu doldurur, submit'e tıklar ve karşılama mesajını doğrular. E2E testler, gerçek kullanıcı senaryolarını uçtan uca sınar. Ama yavaş oldukları için az miktarda yazılırlar; integration ve unit testler çoğunluğu oluşturur.

Playwright akışı

Playwright, tarayıcıyı başlatır, sayfayı açar ve kullanıcı etkileşimlerini taklit eder. Her adım bir await ile beklenir. E2E testleri asenkron olarak çalışır.

Örnek: const { chromium } = require("playwright"); const browser = await chromium.launch(); const page = await browser.newPage(); await page.goto("/"); await browser.close();. Bu, Chromium tarayıcısını başlatır, yeni bir sayfa açar, ana sayfaya gider ve tarayıcıyı kapatır. Playwright, headless (kafasız) modda çalışabilir; bu, ekranda tarayıcı açılmadan testi koşar. CI/CD sistemlerinde bu mod kullanılır. Testler sırasında page.screenshot() ile ekran görüntüsü alınabilir; hata durumunda hatayı görsel olarak incelemek için.

Uygulama Playwright iskeletini yaz

playwright modülünden chromium'u içe aktar. console.log ile "Playwright hazır" yaz.

Başlangıç kodu

index.js
// playwright modülünü içe aktar
// buraya yaz

// "Playwright hazır" yazdır
// buraya yaz

Örnek çözüm

index.js
const { chromium } = require("playwright");
console.log("Playwright hazır");

Beklenen çıktı

Playwright hazır

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Playwright goto çağrısını tamamla

Soru
await page.____("/signup");
Cevap
await page.goto("/signup");

Açıklama: page.goto ile sayfaya gidilir.

2 Metodu rolüne eşle

Kavram Anlamı
chromium.launch Tarayıcıyı başlatır
browser.newPage Yeni sayfa açar
page.goto Sayfaya gider
page.fill Alanı doldurur

3 E2E testi neyi sınar?

index.js
page.goto('/signup')
  • Tüm zinciri (arayüz, sunucu, veritabanı) Doğru cevap
  • Yalnızca tek fonksiyonu
  • Yalnızca CSS stillerini
  • Yalnızca birim davranışı

Açıklama: E2E testi tüm zinciri sınar.

İleri seviye bölümündeki tüm dersler