Customer Experience
Playwright of Selenium: welk testframework kies jij?
Testautomatisering is geen luxe meer. Het is tegenwoordig een randvoorwaarde voor teams die snel, maar ook betrouwbaar willen blijven leveren. De grote vraag is: welk framework kies je voor je front-end en end-to-end tests? Playwright en Selenium zijn allebei volwaardige opties, met elk hun eigen sterktes. In dit blog gaan we deze sterktes naast elkaar zetten.
Tekst: Karim Saad
Twee tools, één doel

Selenium bestaat al sinds 2004 en is daarmee een van de meest gebruikte testframeworks voor webbrowsers. Het werkt via het WebDriver-protocol en ondersteunt vrijwel alle browsers en programmeertalen, van Java tot Python.
Playwright is het jongere alternatief, ontwikkeld door Microsoft en uitgebracht in 2020. Het is gebouwd met de moderne webapplicatie als uitgangspunt en maakt gebruik van browserspecifieke protocollen voor Chromium, Firefox en WebKit. Daarnaast is het beschikbaar voor de programmeertalen JavaScript/TypeScript, Python, C# en Java.
Beide tools doen in essentie hetzelfde: ze sturen een browser aan, simuleren gebruikersgedrag en controleren of de applicatie zich gedraagt zoals verwacht volgens de geschreven scenario’s en scripts door een QA Engineer. De manier waarop en de invloed daarvan op het dagelijkse werk van een QA Engineer verschilt echter behoorlijk.
Wat maakt Playwright sterk voor E2E tests?
Playwright is ontworpen voor de huidige generatie webapplicaties. Het grootste verschil in de praktijk is auto-waiting. Playwright wacht automatisch tot een element zichtbaar, klikbaar of interacteerbaar is. Geen handmatige sleep-statements meer, minder ‘flaky’ tests.
Dit heeft direct effect op de stabiliteit van je testset. Doordat Playwright standaard rekening houdt met asynchrone rendering, API-calls en animaties, falen tests minder vaak door timingproblemen. In de praktijk betekent dit minder “false negatives” en minder tijd kwijt aan het opnieuw draaien of debuggen van tests.
Daarnaast levert Playwright standaard een complete toolset mee: een ingebouwde testrunner, een codegenerator waarmee je tests opneemt door simpelweg te klikken in de browser en een visuele trace viewer om gefaalde tests te debuggen. Voor teams die starten met testautomatisering is dat een enorme drempelverlagende factor.
Verder heeft Playwright ingebouwde ondersteuning voor het onderscheppen en mocken van netwerkrequests. Handig als je API-calls wilt stubben of specifieke foutscenario's wilt simuleren, zonder een aparte tool.
De keerzijde: Playwright is relatief jong. Het ecosysteem is kleiner en er is minder community-kennis beschikbaar. Daarnaast richt Playwright zich vooral op moderne browsers en is ondersteuning voor oudere of specifieke browsers die in sommige enterprise-omgevingen nog worden gebruikt, beperkt.
Wat maakt Selenium sterk?
Selenium heeft twintig jaar aan community-kennis achter zich. De hoeveelheid beschikbare documentatie, integraties en open source-bibliotheken is enorm. Voor teams met beperkte automatiseringservaring is er vrijwel altijd een antwoord te vinden. Bovendien werkt Selenium met vrijwel elke programmeertaal en ondersteunt het ook oudere of specifieke browsers die in sommige enterprise-omgevingen nog nodig zijn.
Grote cloudplatforms zoals BrowserStack en Sauce Labs zijn van oudsher gebouwd op het WebDriver-protocol. Hoewel beide platformen inmiddels ook Playwright ondersteunen, is Selenium vaak de logische keuze als je organisatie hier al in investeert.
Selenium heeft echter ook zijn beperkingen. Het gebrek aan auto-waiting dwingt testers om expliciete waits te schrijven, een veelvoorkomende bron van instabiele tests.
Zeker in dynamische webapplicaties kan dit leiden tot flaky tests: tests die soms slagen en soms falen zonder dat de functionaliteit veranderd is. Kleine timingverschillen, trage netwerkaanroepen of rendering delays kunnen al genoeg zijn om een test te laten falen. Het oplossen hiervan vraagt vaak extra code en onderhoud.
De setup vraagt ook meer aandacht: hoewel Selenium Manager sinds versie 4.6 het beheer van WebDrivers grotendeels automatiseert, blijft de configuratie complexer dan bij Playwright. Hoe zit het dan met een ingebouwde testrunner of trace viewer? Die zijn er niet bij Selenium, waardoor je bent aangewezen op externe tooling.
Wanneer kies je voor welke tool?

De keuze hangt uiteindelijk af van je projectcontext, je team en de infrastructuur die al aanwezig is.
Kies voor Playwright als je werkt aan een modern TypeScript of JavaScript project, zoals met React, Angular of Vue, als CI/CD-integratie en snelle feedback centraal staan, of als je team net begint met testautomatisering en direct een prettige, complete tooling wil.
Ook Selenium kan nog steeds een goede keuze zijn, als je werkt in een enterprise-omgeving met bestaande testinfrastructuur, als je team al Java of .NET gebruikt en Selenium-kennis in huis heeft, of als je oudere of specifieke browsers moet ondersteunen.
Conclusie
Welke tool je kiest, hangt af van je context. Werk je aan een modern front-endproject en wil je snel stabiele tests draaien? Dan is Playwright de logische keuze. Zit je in een enterprise-omgeving met bestaande Selenium-infrastructuur en een team dat er al mee werkt? Dan is overstappen vaak niet de moeite waard.
Wat we in de praktijk wel vaker zien: teams die worstelen met flaky tests, blijken vaak niet het verkeerde framework te gebruiken, maar investeren te weinig in de testcultuur zelf. Geen framework lost dat op.
