Aan de slag met Playwright voor React
Schrijf Playwright-tests die een browser openen, met de React-app werken en resultaten controleren.
Aan de slag met Playwright voor React is een gratis React Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject React Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus React Academy bevat in totaal 4 lessen.
Wat is Playwright?
Playwright is een E2E-testframework voor Node.js dat echte Chromium-, Firefox- en WebKit-browsers aanstuurt. Het is ideaal voor het testen van volledige React-applicatiestromen, waaronder routering, authenticatie en API-interacties.
Installatie
Installeer Playwright en de bijbehorende browserbestanden met één opdracht.
# npm init playwright@latest
# or
# npx playwright install
# playwright.config.ts is created automaticallyPlaywright-configuratie voor React
Configureer Playwright om je ontwikkelserver te starten voordat de tests worden uitgevoerd.
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,
},
});Je eerste test schrijven
Tests gebruiken page, een object dat een browserpagina voorstelt. Navigeer naar een URL, werk met elementen en controleer het resultaat.
import { test, expect } from '@playwright/test';
test('home page shows heading', async ({ page }) => {
await page.goto('/');
await expect(page.getByRole('heading', { name: 'Welcome' })).toBeVisible();
});Locators
De locators van Playwright lijken op RTL-queries. Gebruik bij voorkeur locators op basis van rollen voor een robuuste test.
// 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');Klikken en typen
Werk met elementen met click(), fill(), press() en selectOption().
await page.getByLabel('Email').fill('user@example.com');
await page.getByLabel('Password').fill('secret');
await page.getByRole('button', { name: 'Log in' }).click();Wachten op navigatie
Playwright wacht automatisch tot elementen gereed zijn, maar je kunt ook expliciet wachten tot navigatie of netwerkaanvragen zijn voltooid.
// 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"]'),
]);Controles
Gebruik expect(locator) met de ingebouwde matchers van Playwright. Ze wachten automatisch tot aan de voorwaarde is voldaan.
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');Schermafbeeldingen maken bij fouten
Playwright maakt bij een mislukte test automatisch schermafbeeldingen en traces als dit is geconfigureerd. Schakel dit in de configuratie in.
use: {
screenshot: 'only-on-failure',
trace: 'retain-on-failure',
video: 'retain-on-failure',
}Tests uitvoeren
Voer alle tests uit zonder zichtbare browser, of gebruik --ui voor de interactieve testverkenner waarmee je tests visueel stap voor stap kunt doorlopen.
# 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 --debugPlaywright Trace Viewer
Open bij een mislukte test het tracebestand met npx playwright show-trace om de test stap voor stap opnieuw af te spelen, inclusief schermafbeeldingen, netwerkaanvragen en consolelogboeken.
Integratie met CI
Playwright wordt standaard zonder zichtbare browser uitgevoerd in CI. Installeer browsers met npx playwright install --with-deps en voer tests uit als een normaal npm-script.
# .github/workflows/e2e.yml
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright tests
run: npx playwright testKorte controle
Welke Playwright-methode moet je gebruiken om een tekstinvoerveld in te vullen?
Samenvatting
Playwright test echte browsers en wacht automatisch tot elementen gereed zijn. Gebruik locators op basis van rollen, fill() en click() voor interacties, expect(locator) voor controles en de modus --ui voor visueel debuggen tijdens de ontwikkeling.
Leer React met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 88
- Lessen
- 324
Veelgestelde vragen
Is de les “Aan de slag met Playwright voor React” gratis?
Ja — de volledige tekst van “Aan de slag met Playwright voor React” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus React Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus React Academy bevat in totaal 4 lessen.
Wat leer ik in “Aan de slag met Playwright voor React”?
Schrijf Playwright-tests die een browser openen, met de React-app werken en resultaten controleren. Je oefent met React Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met React Academy te beginnen?
Ervaring vooraf is niet nodig. React Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Aan de slag met Playwright voor React”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over React Academy?
Ja. Elke les over React Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Integration testing met React Testing Library
- Asynchrone UI en API-aanroepen testen met MSW
- Aan de slag met Playwright voor React
- Formulieren en gebruikersflows end-to-end testen