Selenium is geen testtool!

Geschreven door Maarten-Jan van Gool

Gepubliceerd op 19 december 2019

Welke testtool gebruiken jullie? Dat is een veelgehoorde vraag in de testwereld. Tegenwoordig hoor je dan antwoorden als FitNesse, Tosca, Robot Framework of Protractor. Maar ook horen we vaak Selenium of Selenium Webdriver. Omdat Selenium binnen de testwereld bijna equivalent staat aan ‘testautomatisering’ en iedereen wel van Selenium heeft gehoord, is dit niet zo’n heel gek antwoord. Maar… Selenium is helemaal geen testtool!

Serieus, ga maar eens naar de ‘getting started’ pagina van Selenium <https://selenium.dev/documentation/en/>. Je krijgt daar gelijk, in een programmeertaal naar keuze, code voor je neus. Met Selenium bouw je je eigen applicatie om een browser aan te sturen. En als je daarmee aan de slag gaat, dan merk je dat je heel veel dingen zelf nog uit moet vinden. Wachten totdat knoppen zichtbaar worden, scrollen om een stuk tekst te vinden en wachten totdat de pagina geheel geladen is. Het zijn voorbeelden van situaties die je in Selenium in veel gevallen zelf moet programmeren.

Het is dus ook geen wonder dat de meeste testtools van tegenwoordig Selenium voor je aansturen. Dit geldt voor FitNesse, Protractor en Robot Framework en nog vele andere. Deze tools bieden je allerlei extra lagen bovenop Selenium, om het voor een automatiseerder gemakkelijk te maken om tests te automatiseren.

Selenium is in feite niets meer dan een API, een application programming interface, om browsers mee aan te sturen. Daar is op zich niks mis mee, het is mooi dat het er is; het is ten slotte niet voor niets dat de meeste UI testtools er gebruik van maken. Maar als je als tester aan de slag gaat met testautomatisering, is ‘vanilla Selenium’ naar mijn idee een vreemde ‘testtool’ om te kiezen. Je gaat dan in feite niet aan de slag met testautomatiseren, maar je gaat je eigen testtool maken. En je bent dan het wiel, dat in alle bestaande testtools al lang is uitgevonden, nog een keer aan het uitvinden. FitNesse bijvoorbeeld, een tool die ik persoonlijk goed ken, heeft duizenden regels code tussen de user interface en de Selenium API zitten om het leven van de testautomatiseerder te vergemakkelijken. Ik kan je verzekeren: dat is echt niet voor niets. Het is zonde om daar geen gebruik van te maken. En dit geldt natuurlijk niet alleen voor FitNesse, maar net zo goed voor Protractor of Robot Framework.

Naast alle uitbreidingen die testtools als FitNesse of Robot Framework je bieden, komt daar nog bovenop dat Selenium alleen voor browserautomatisering een API biedt. Dat beperkt je testautomatisering al enorm, want je zou idealiter helemaal niet zo veel via de user interface moeten automatiseren. Daarnaast biedt Selenium je geen andere mogelijkheid dan direct de code in te duiken. Het is maar sterk de vraag of dat de beste keuze is. Hoe groot is de programmeerkennis van degenen die met testautomatisering aan de slag gaan?

Kortom, als je aan de slag gaat met testautomatisering, kies dan geen Selenium, maar kies een testtool. Dat gaat je een hele hoop tijd, geld en werk besparen. En mocht je er niet uit komen, dan kun je altijd contact met ons opnemen.

Reacties

Robert van Hall op 20 december 2019, 09:15

Goed artikel!
Klopt helemaal, in de meeste gevallen is er een tool of suite, die op Selenium (of Xebium, of een combi, …) is gebouwd.

Ik gebruik zelf Katalon Studio, dat vind ik erg prettig werken.
De interface is overzichtelijk en de mogelijkheden zijn eigenlijk onbeperkt, want je kunt Javascript en Groovy inzetten.

Reageren

Rene op 10 juni 2020, 21:43

Fitnesse is een hele beperkte tool voor niet-programmeurs. Wanneer je je testautomatisering opzet volgens de Test Automation Piramid, dan ontkom je niet aan programmeren. De meest recente tutorials van Fitnesse op Youtube dateren uit 2012. Do I need to say more?

Reageren

Maarten-Jan op 8 juli 2020, 09:21

Als we het hebben over de hele testpiramide heb je zeker programmeerkennis nodig; unittests schrijf je in de taal waar de code ook in geschreven is (meestal). Maar daar heb je geen Selenium voor nodig.

Ik ben niet bekend met FitNesse tutorials op Youtube, maar de ontwikkeling van FitNesse (en HSAC en Bootstrap+) is springlevend met meerdere releases per jaar. Ik zou eens op Github kijken… En ik spreek uit ervaring als ik zeg dat je met FitNesse (en ook een aantal andere tools) prima uit de voeten kan zonder te hoeven programmeren. En als we dit moeten komen bewijzen in jouw omgeving dan doen we graag een proof of concept!

Reageren

Schrijf een reactie

Gerelateerde artikelen