0Pricing
React Academy · Ders

React için Playwright'a Başlangıç

Tarayıcı açan, React uygulamasıyla etkileşime giren ve sonuçları doğrulayan Playwright testleri yazın.

React için Playwright'a Başlangıç, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.

Playwright Nedir?

Playwright, gerçek Chromium, Firefox ve WebKit tarayıcılarını yöneten bir Node.js uçtan uca test çatısıdır. Yönlendirme, kimlik doğrulama ve API etkileşimleri dâhil olmak üzere React uygulamasının tüm akışlarını test etmek için idealdir.

Kurulum

Playwright'ı ve tarayıcı ikili dosyalarını tek bir komutla kurun.

# npm init playwright@latest
# or
# npx playwright install

# playwright.config.ts is created automatically

React için Playwright Yapılandırması

Testleri çalıştırmadan önce geliştirme sunucunuzu başlatacak şekilde Playwright'ı yapılandırın.

import { defineConfig } from '@playwright/test';

export default defineConfig({
  testDir: './e2e',
  use: { baseURL: 'http://localhost:5173' },
  webServer: {
    command: 'npm run dev',
    url: 'http://localhost:5173',
    reuseExistingServer: !process.env.CI,
  },
});

İlk Testinizi Yazma

Testlerde tarayıcı sayfası nesnesi olan page kullanılır. Bir URL'ye gidin, öğelerle etkileşime geçin ve sonucu doğrulayın.

import { test, expect } from '@playwright/test';

test('home page shows heading', async ({ page }) => {
  await page.goto('/');
  await expect(page.getByRole('heading', { name: 'Welcome' })).toBeVisible();
});

Öğe Bulucular

Playwright'ın öğe bulucuları RTL sorgularına benzer. Dayanıklılık için rol tabanlı öğe bulucuları tercih edin.

// By role
const button = page.getByRole('button', { name: 'Submit' });
// By label
const input = page.getByLabel('Email address');
// By text
const link = page.getByText('Sign in');
// By placeholder
const search = page.getByPlaceholder('Search products');

Tıklama ve Yazma

click(), fill(), press() ve selectOption() kullanarak öğelerle etkileşime geçin.

await page.getByLabel('Email').fill('user@example.com');
await page.getByLabel('Password').fill('secret');
await page.getByRole('button', { name: 'Log in' }).click();

Yönlendirmeyi Bekleme

Playwright, öğelerin hazır olmasını otomatik olarak bekler; ancak yönlendirmenin veya ağ isteklerinin tamamlanmasını açıkça bekleyebilirsiniz.

// Wait for URL to change after form submit
await page.waitForURL('/dashboard');

// Wait for a specific request
const [response] = await Promise.all([
  page.waitForResponse('/api/users'),
  page.click('button[type="submit"]'),
]);

Doğrulamalar

Playwright'ın yerleşik eşleştiricileriyle birlikte expect(locator) kullanın. Bu eşleştiriciler koşulun doğru olmasını otomatik olarak bekler.

await expect(page.getByRole('heading')).toHaveText('Dashboard');
await expect(page.getByTestId('user-count')).toContainText('5 users');
await expect(page.getByRole('button', { name: 'Delete' })).toBeDisabled();
await expect(page).toHaveURL('/success');

Başarısızlıkta Ekran Görüntüsü Alma

Playwright, yapılandırıldığında test başarısızlıklarında ekran görüntülerini ve izleri otomatik olarak yakalar. Bunu yapılandırma dosyasında etkinleştirin.

use: {
  screenshot: 'only-on-failure',
  trace: 'retain-on-failure',
  video: 'retain-on-failure',
}

Testleri Çalıştırma

Tüm testleri arayüzsüz modda çalıştırın veya testleri görsel olarak adım adım incelemenizi sağlayan etkileşimli test gezginini açmak için --ui kullanın.

# Run all tests
npx playwright test

# Run with UI mode
npx playwright test --ui

# Run a specific file
npx playwright test e2e/login.spec.ts

# Debug mode
npx playwright test --debug

Playwright İz Görüntüleyicisi

Bir test başarısız olduğunda, ekran görüntüleri, ağ istekleri ve konsol günlükleriyle testi adım adım yeniden oynatmak için iz dosyasını npx playwright show-trace ile açın.

CI Entegrasyonu

Playwright, CI ortamında varsayılan olarak arayüzsüz modda çalışır. Tarayıcıları npx playwright install --with-deps ile kurun ve testleri normal bir npm betiği olarak çalıştırın.

# .github/workflows/e2e.yml
- name: Install Playwright Browsers
  run: npx playwright install --with-deps
- name: Run Playwright tests
  run: npx playwright test

Hızlı Kontrol

Bir metin giriş alanını doldurmak için hangi Playwright yöntemini kullanmalısınız?

Özet

Playwright gerçek tarayıcıları test eder ve öğeler için otomatik olarak bekler. Etkileşimler için rol tabanlı öğe bulucuları, fill() ve click(); doğrulamalar için expect(locator) kullanın. Geliştirme sırasında görsel hata ayıklama için --ui modunu tercih edin.

Sıkça Sorulan Sorular

“React için Playwright'a Başlangıç” dersi ücretsiz mi?

Evet — “React için Playwright'a Başlangıç” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.

“React için Playwright'a Başlangıç” dersinde ne öğreneceğim?

Tarayıcı açan, React uygulamasıyla etkileşime giren ve sonuçları doğrulayan Playwright testleri yazın. React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

React Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“React için Playwright'a Başlangıç” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu React Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. React Testing Library ile Entegrasyon Testleri
  2. MSW ile Asenkron Arayüzü ve API Çağrılarını Test Etme
  3. React için Playwright'a Başlangıç
  4. Formları ve Kullanıcı Akışlarını Uçtan Uca Test Etme
← React Academy Sayfasına Dön