Memulai dengan Playwright untuk React
Tulis pengujian Playwright yang membuka browser, berinteraksi dengan aplikasi React, dan memeriksa hasilnya.
Memulai dengan Playwright untuk React adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar React Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus React Academy mencakup 4 pelajaran total.
Apa Itu Playwright?
Playwright adalah kerangka kerja pengujian ujung ke ujung Node.js yang mengendalikan peramban Chromium, Firefox, dan WebKit nyata. Playwright ideal untuk menguji alur aplikasi React secara menyeluruh, termasuk perutean, autentikasi, dan interaksi API.
Instalasi
Pasang Playwright dan biner perambannya dengan satu perintah.
# npm init playwright@latest
# or
# npx playwright install
# playwright.config.ts is created automaticallyKonfigurasi Playwright untuk React
Konfigurasikan Playwright untuk memulai server pengembangan sebelum menjalankan pengujian.
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,
},
});Menulis Pengujian Pertama Anda
Pengujian menggunakan page, yaitu objek halaman peramban. Buka URL, berinteraksilah dengan elemen, lalu verifikasi hasilnya.
import { test, expect } from '@playwright/test';
test('home page shows heading', async ({ page }) => {
await page.goto('/');
await expect(page.getByRole('heading', { name: 'Welcome' })).toBeVisible();
});Pencari Elemen
Pencari elemen Playwright mirip dengan kueri RTL. Utamakan pencari elemen berbasis peran agar lebih tangguh.
// 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');Mengeklik dan Mengetik
Berinteraksilah dengan elemen menggunakan click(), fill(), press(), dan selectOption().
await page.getByLabel('Email').fill('user@example.com');
await page.getByLabel('Password').fill('secret');
await page.getByRole('button', { name: 'Log in' }).click();Menunggu Navigasi
Playwright secara otomatis menunggu hingga elemen siap, tetapi Anda dapat secara eksplisit menunggu navigasi atau permintaan jaringan selesai.
// 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"]'),
]);Verifikasi
Gunakan expect(locator) dengan pencocok bawaan Playwright. Pencocok tersebut secara otomatis menunggu hingga kondisi terpenuhi.
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');Mengambil Tangkapan Layar saat Pengujian Gagal
Playwright secara otomatis mengambil tangkapan layar dan jejak saat pengujian gagal jika dikonfigurasikan. Aktifkan fitur tersebut dalam konfigurasi.
use: {
screenshot: 'only-on-failure',
trace: 'retain-on-failure',
video: 'retain-on-failure',
}Menjalankan Pengujian
Jalankan semua pengujian tanpa antarmuka, atau gunakan --ui untuk penjelajah pengujian interaktif yang memungkinkan Anda menelusuri pengujian secara visual.
# 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 --debugPenampil Jejak Playwright
Saat pengujian gagal, buka berkas jejak dengan npx playwright show-trace untuk memutar ulang pengujian langkah demi langkah dengan tangkapan layar, permintaan jaringan, dan catatan konsol.
Integrasi CI
Playwright berjalan tanpa antarmuka secara bawaan dalam CI. Pasang peramban dengan npx playwright install --with-deps dan jalankan pengujian sebagai skrip npm biasa.
# .github/workflows/e2e.yml
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright tests
run: npx playwright testCek Singkat
Metode Playwright apa yang sebaiknya Anda gunakan untuk mengisi bidang masukan teks?
Ringkasan
Playwright menguji peramban nyata dan secara otomatis menunggu hingga elemen siap. Gunakan pencari elemen berbasis peran, fill() dan click() untuk interaksi, expect(locator) untuk verifikasi, serta mode --ui untuk penelusuran visual selama pengembangan.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Memulai dengan Playwright untuk React” gratis?
Ya — teks lengkap “Memulai dengan Playwright untuk React” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus React Academy, upgrade ke CoddyKit PRO. Kursus React Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Memulai dengan Playwright untuk React”?
Tulis pengujian Playwright yang membuka browser, berinteraksi dengan aplikasi React, dan memeriksa hasilnya. Kamu berlatih React Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai React Academy?
Tidak diperlukan pengalaman sebelumnya. React Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Memulai dengan Playwright untuk React” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran React Academy ini?
Ya. Setiap pelajaran React Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Pengujian Integrasi dengan React Testing Library
- Menguji UI Asinkron & Pemanggilan API dengan MSW
- Memulai dengan Playwright untuk React
- Menguji Formulir & Alur Pengguna dari Awal hingga Akhir