React Academy · Les

Aan de slag met Playwright voor React

Schrijf Playwright-tests die een browser openen, met de React-app werken en resultaten controleren.

Les 3 van 414 stappen

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 automatically

Playwright-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 --debug

Playwright 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 test

Korte 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.

Gratis beginnen

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

  1. Integration testing met React Testing Library
  2. Asynchrone UI en API-aanroepen testen met MSW
  3. Aan de slag met Playwright voor React
  4. Formulieren en gebruikersflows end-to-end testen
← Terug naar React Academy