🎁 Meld je nu aan en krijg maximaal 30 minuten gratis online AI-gebruik. Geen creditcard nodig.

Selenium sollicitatievragen en antwoorden: 24 vragen over waits, locators en frameworks

September 2, 2026
Selenium sollicitatievragen met antwoorden over locators, waits, flaky tests, page objects, frameworkontwerp, parallelle runs en CI-fouten.
Selenium sollicitatievragen en antwoorden: 24 vragen over waits, locators en frameworks
selenium sollicitatievragen
selenium sollicitatievragen en antwoorden
selenium waits sollicitatie
selenium framework sollicitatievragen

Selenium-interviews testen twee dingen: of je stabiele UI-tests kunt schrijven (waits, locators, page objects) en of je een framework kunt ontwerpen waar een team mee kan leven (structuur, data, rapportage, draaien in CI). Flaky tests zijn het onderwerp dat het vaakst terugkomt, omdat iedereen die Selenium heeft gebruikt er wel eens mee geworsteld heeft.

Hieronder staan 24 vragen met antwoorden. De voorbeelden gebruiken Java- en Python-syntax waar code helpt, en de ideeën gelden in elke taal.

Basis

1. Wat is Selenium, en wat zijn de componenten?

Selenium is een open source suite voor het automatiseren van webbrowsers. Selenium WebDriver bestuurt browsers via hun drivers en is het onderdeel dat de meeste mensen bedoelen. Selenium Grid draait tests parallel op meerdere machines en browsers. Selenium IDE is een record-and-playback-extensie. Selenium regelt geen desktop-apps of ingebouwde testrapportage, dus combineer je het met een testframework.

2. Hoe werkt WebDriver?

Je test stuurt commando's via het W3C WebDriver-protocol over HTTP naar een browserdriver zoals ChromeDriver of GeckoDriver, die de browser bestuurt en resultaten terugstuurt. Recente Selenium-versies bevatten Selenium Manager, die de juiste driver vindt en downloadt.

3. Welke locators ondersteunt Selenium, en welke gebruik je het liefst?

ID, name, class name, tag name, link text, partial link text, CSS-selector en XPath. Geef de voorkeur aan een stabiele ID of een speciaal testattribuut zoals data-testid, en daarna aan CSS. Gebruik XPath wanneer je omhoog door de boom moet of op tekst moet matchen. Vermijd lange, op positie gebaseerde paden zoals /html/body/div[3]/div[2], die breken zodra de layout verandert.

4. Wat is het verschil tussen findElement en findElements?

findElement geeft de eerste match terug en gooit een NoSuchElementException als er niets is. findElements geeft een lijst terug, die leeg is als er niets matcht, dus dat is handig om te controleren dat iets niet aanwezig is.

5. Wat is het verschil tussen driver.close() en driver.quit()?

close() sluit het huidige venster. quit() sluit alle vensters en beëindigt de sessie. Gebruik quit() in de teardown zodat er geen browserprocessen achterblijven.

Waits en flaky tests

6. Wat zijn de soorten waits?

WaitHoe het werkt
ImplicitEen globale timeout voor het vinden van elementen
ExplicitWacht op een specifieke conditie voor een specifiek element
FluentEen explicit wait met een eigen polling-interval en genegeerde exceptions
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
WebElement button = wait.until(ExpectedConditions.elementToBeClickable(By.id("submit")));

Geef de voorkeur aan explicit waits. Het mixen van implicit en explicit waits kan onvoorspelbare vertragingen veroorzaken.

7. Waarom zou je geen Thread.sleep gebruiken?

Het wacht altijd de volledige tijd, wat de suite vertraagt, en op een langzame dag is het alsnog te kort. Een op een conditie gebaseerde wait gaat direct verder zodra de conditie is vervuld en faalt anders met een duidelijke melding.

8. Wat veroorzaakt flaky tests, en hoe los je ze op?

Veelvoorkomende oorzaken en oplossingen:

  • Timing: gebruik explicit waits voor de exacte conditie, geen sleeps.
  • Gedeelde of achtergebleven data: maak testdata per test aan en ruim die weer op.
  • Afhankelijkheid tussen tests: maak elke test onafhankelijk en los uitvoerbaar.
  • Onstabiele locators: voeg test-ID's toe en vermijd op positie gebaseerde paden.
  • Animaties en overlays: wacht tot de overlay verdwenen is of schakel animaties uit in de testomgeving.
  • Omgevingsproblemen: stabiliseer de testomgeving en controleer netwerk- en third-party-calls.
  • Parallelle interferentie: isoleer state per thread.

Zet een flaky test in quarantaine zodat hij niet iedereen blokkeert, en los hem daarna goed op. Voeg niet overal zomaar retries toe, want dat verbergt echte bugs.

9. Wat is StaleElementReferenceException?

Het element dat je hebt gevonden, is niet meer aan de pagina gekoppeld, meestal omdat de pagina opnieuw is gerenderd. Los het op door het element vlak voor gebruik opnieuw te lokaliseren, of door op het nieuwe element te wachten, in plaats van lang referenties vast te houden.

10. Hoe ga je om met elementen die niet klikbaar zijn (ElementClickInterceptedException)?

Er zit iets over het element heen, zoals een banner of een loading-overlay. Wacht tot de overlay weg is, scroll het element in beeld, of sluit de banner. Een JavaScript-click gebruiken moet een laatste redmiddel zijn, want een echte gebruiker zou er niet op kunnen klikken en de test zou een echte bug verbergen.

Omgaan met paginafuncties

  • Dropdowns: de klasse Select voor standaard select-elementen, en klikgebaseerde stappen voor aangepaste dropdowns.
  • Alerts: driver.switchTo().alert() om te accepteren, te sluiten of uit te lezen.
  • Frames: switchTo().frame(...) en terug naar defaultContent().
  • Vensters en tabbladen: haal de window handles op, schakel over naar het nieuwe venster en schakel weer terug.

12. Hoe ga je om met het uploaden en downloaden van bestanden?

Voor uploads stuur je het bestandspad naar het element input type="file" met sendKeys. Voor downloads stel je de downloadmap van de browser in via de opties, wacht je tot het bestand verschijnt en controleer je vervolgens de naam en inhoud.

13. Hoe voer je JavaScript uit in Selenium?

Via JavascriptExecutor.executeScript, bijvoorbeeld om te scrollen of een waarde uit te lezen die de API niet kan bereiken. Gebruik het met mate.

14. Wat is headless mode?

De browser draait zonder zichtbaar venster, wat sneller is en werkt op servers en in CI. Verifieer met een zichtbare run bij het debuggen, en controleer de viewportgrootte, omdat de lay-out kan verschillen.

Frameworkontwerp

15. Wat is het Page Object Model?

Elke pagina of component is een klasse die de locators en de acties erop bevat. Tests roepen methoden aan zoals loginPage.loginAs(user) en raken locators niet direct aan. Wanneer de UI verandert, pas je één klasse aan in plaats van veel tests.

class LoginPage:
    def __init__(self, driver):
        self.driver = driver
    def login_as(self, user, password):
        self.driver.find_element(By.ID, "user").send_keys(user)
        self.driver.find_element(By.ID, "pass").send_keys(password)
        self.driver.find_element(By.ID, "submit").click()

16. Wat bevat een goed testframework?

Een test runner (TestNG, JUnit, pytest), page objects, een driver factory voor verschillende browsers, configuratie per omgeving, beheer van testdata, helpers voor waits, rapportage, logging, screenshots bij falen en CI-integratie.

17. Hoe beheer je testdata?

Maak de data die een test nodig heeft aan via een API of database-setup aan het begin, niet via de UI, en verwijder deze daarna. Bewaar data in bestanden of builders, niet hard-coded in tests, en vermijd tests die afhankelijk zijn van data die door een andere test is achtergelaten.

18. Hoe voer je tests parallel uit?

Gebruik de parallelfunctie van de runner, geef elke thread zijn eigen driver (bijvoorbeeld met ThreadLocal), houd tests onafhankelijk en draai op Selenium Grid of een cloudbrowserservice om op te schalen across browsers.

19. Wat is Selenium Grid?

Een systeem met een hub en nodes (of een gedistribueerde opzet in Grid 4) dat tests parallel uitvoert op verschillende browsers en besturingssystemen. Het verkort de totale looptijd en laat je meer browsers dekken.

Strategie en scenario's

20. Wat moet je automatiseren met Selenium, en wat niet?

Automatiseer stabiele, waardevolle, herhaalbare flows zoals inloggen, afrekenen en kritieke regressiepaden. Automatiseer geen eenmalige checks, snel veranderende UI of zaken die beter lager in de stack getest worden. Een gezonde suite heeft veel unit- en API-tests, minder UI-tests en een kleine set end-to-end flows.

21. Hoe test je een applicatie met een captcha of tweefactor-login?

Probeer ze niet te omzeilen in de test. Gebruik een testomgeving waarin ze uitgeschakeld zijn, een testaccount met een vaste code of een bypass-flag, of een test-API om een sessie aan te maken.

22. Een test slaagt lokaal maar faalt in CI. Wat controleer je?

Browser- en driverversies, schermgrootte en headless-verschillen, timing op tragere machines, omgevingsdata, netwerktoegang, tijdzones en locale, en parallelle runs die data delen. Leg screenshots, paginabron en logs vast bij falen om te vergelijken.

23. Hoe kies je tussen Selenium, Playwright en Cypress?

Selenium ondersteunt veel talen en browsers en heeft een enorm ecosysteem. Playwright en Cypress bieden ingebouwde waits, eenvoudigere setup en goede debuggingtools, en passen mogelijk beter bij nieuwe projecten. De juiste keuze hangt af van taal, browserbehoeften en de vaardigheden van het team. Geef je redenen, niet een merkvoorkeur.

24. Loop me door het automatiseren van een checkoutflow.

"Ik zou een gebruiker en een product aanmaken via de API en vervolgens inloggen via de UI of een sessie hergebruiken. Een page object voor elke stap: zoeken, product, winkelwagen en betaling. Ik zou een testbetaalmethode gebruiken, wachten op het bevestigingselement, de bestelling verifiëren via de UI en de API, en een screenshot maken bij falen. De test zou zijn bestelling opruimen, parallel draaien en in de pipeline draaien bij elke merge."

Hoe je je voorbereidt

Schrijf een kleine suite voor een demosite met page objects, expliciete waits, screenshots bij falen en een CI-run. Oefen met uitleggen hoe je een flaky test hebt opgelost, met de oorzaak en de wijziging. Wees klaar om live een locator en een wait te coderen. Zie onze gids voor een coding interview-assistent voor oefenroutines en de gids voor het behavioral interview voor de softskills-ronde.

Spreek je antwoorden hardop uit en lees een transcript voor vage stukken zoals 'voeg gewoon een wait toe'. Volg de regels van de werkgever over AI-tools in elk live interview.

Oefen Selenium sollicitatieantwoorden met YesToTheOffer

Doe een mock technisch sollicitatiegesprek, leg je framework hardop uit en bekijk achteraf je transcript. 30 gratis minuten, geen abonnement.

iOS & Android — Binnenkort
Bekijk prijzen