Onze TestCoders verdiepen graag hun kennis en beslissen zelf op welke manier ze dat doen. Naast het volgen van trainingen, bezoeken we ook graag conferenties in binnen- en buitenland. Yuri Verweij en Johan van Iperen waren in januari een week in Helsinki voor een bezoek aan RoboCon, een conferentie die volledig gewijd is aan Robot Framework. Yuri was zo enthousiast dat hij er een verslag over heeft geschreven:
Afgelopen week vond RoboCon plaats in Helsinki. Dit is een conferentie over Robot Framework. Er wordt veel ontwikkeld aan Robot Framework en jaarlijks wordt deze conferentie gehouden voor professionals om toekomstplannen de delen, kennis op te doen en te netwerken. Graag deel ik met jullie mijn ervaringen van deze conferentie om hopelijk interesse te wekken voor het gebruik van dit zeer krachtige en gratis open source framework voor testautomatisering (TA) en Robotic Process Automation (RPA).
DAG 1: WORKSHOPS
2 dagen voor de daadwerkelijke conferentie werden er verschillende workshops gegeven. Ik heb me aangesloten bij de workshop “How to become a Robot Framework Jedi.”. Deze workshop ging in op wat geavanceerdere concepten rondom het gebruik van Robot Framework in een ontwikkelomgeving. Enkele onderwerpen die langskwamen:
- Hoe pak je gestructureerd testen aan met een nieuwe applicatie?
Hier valt natuurlijk veel over te zeggen en veel is afhankelijk van persoonlijke voorkeur en tools die beschikbaar zijn. Erg goed is het wel om bijvoorbeeld duidelijk te maken welke interfaces een SUT (Software Under Test) heeft. Het is aan te raden om een overzicht te maken van deze interfaces en vervolgens tools/libraries te koppelen die je kunt gebruiken om deze te testen. Een voorbeeld: De SUT heeft interfaces als API’s, WebInterface en SAP, hier kun je dan respectievelijk o.a. de RequestsLibrary, BrowserLibrary en de SapGuiLibrary voor gebruiken. Dit is gelijk een mooie basis voor de organisatie van de verschillende testen.
- Poetry en CI/CD
Poetry is een Python tool voor dependency management en packaging. Het is onder andere goed om er voor te zorgen dat iedereen met dezelfde versies van libraries werkt. Door handig gebruik te maken van de python venv en commando’s uit te voeren via Poetry kun je er voor zorgen dat er gemakkelijk verschillende python venv’s naast elkaar gebruikt kunnen worden en je toch altijd in de juiste omgeving werkt. Daarnaast is het hierdoor makkelijker om de configuratie van geautomatiseerde pipelines in code vast te leggen.
- Commit Hooks
Ook voor Robot Framework zijn er tools beschikbaar voor statische code analyse en code formatting (Robocop & Robotidy). Door gebruik te maken van pre-commit is het een peulenschil om deze tools te integreren in de git commits. Dit alles ter verbetering van de code kwaliteit en onderhoudbaarheid.
Er kwamen nog veel meer onderwerpen aan bod. Zo’n dergelijke workshop geeft veel nieuwe inzichten. De meeste mensen in deze workshop hadden al enige ervaring met Robot Framework en het was erg leuk om te zien hoe er kennis werd gedeeld.
DAG 2: OPEN SPACE
Een geweldige dag voor de spirit van Open Source. Er was een ruimte beschikbaar gesteld door een sponsor en hier kon iedereen die interesse had aansluiten bij een open space dag. Hier konden mensen verder werken met de onderwerpen waar ze met de workshop mee bezig waren, ideeën opperen voor verbetering van Robot Framework en de libraries, samenwerken aan een proof-of-concept , of wat ze ook maar wilden.
Wat opvalt is dat de drijvende krachten achter Robot Framework hier veel samenwerken met iedereen die interesse heeft om bij te dragen. Aan het einde van de dag zijn er vele toffe verbeteringen aangedragen, hebben sommige mensen hun eerste bugfix of feature gemaakt en gecommit op Robot Framework. Erg leuk en erg leerzaam, plus een goede manier om de sfeer van deze open source community eens te proeven.
DAG 3 EN 4: DE CONFERENTIE
Vele presentaties van vele experts passeerden de revue tijdens deze RoboCon. Voor mij sprongen deze het meest eruit:
- Robot Framework Documentation. Een initiatief om betere documentatie te maken, waar meer behoefte aan is. Technisch is Robot Framework goed gedocumenteerd, maar toch kwamen er vaak vragen over best practices, voorbeelden en IDE configuratie langs. Hier zijn een aantal mensen mee bezig geweest en zo is https://docs.robotframework.org/ tot standgekomen. Hier vind je hints, voorbeelden en IDE-configuratie tips.
- Migreren van SeleniumLibrary (Selenium) naar BrowserLibrary (PlayWright), wat komt daarbij kijken.
- API testen met Robot Framework. Verschillende libraries die op verschillende manieren inzetbaar zijn om logica, data en/of specificaties van API’s goed te testen.
- Visual testing. Een interessante talk over fouten die een tester tegen kwam met visueel afbeeldingen vergelijken. Het bleek dat een afbeelding op verschillende machines met een voor het menselijk oog onzichtbaar kleurverschil er voor zorgde dat de afbeeldingen 84% afwijking hadden volgens de test, maar deze dus eigenlijk wel juist waren. Hoe kun je dit aanpakken? (En waarom moet je dit eigenlijk niet willen doen?)
- Robot Framework Listener API. Een van de krachtigste onderdelen van het Robot Framework, maar voor velen onbekend terrein. O.a. voor het ophalen van informatie tijdens de uitvoer van de testen, het manipuleren van execution data en resultaten. Hoe het mogelijk is om op de verschillende fases van uitvoer van Robot Framework in te springen. Bijvoorbeeld bij het starten van een specifiek keyword, of bij het eindigen van een test.
- Open Source is a multiplayer game. Een vermakelijk gepresenteerde talk over werken in een open source project. Hoe communiceer je met anderen? Wat heb je nodig? Hoe maak je het project zichtbaar?
- Security/Penetration testing met behulp van Robot Framework. Een technisch complex vraagstuk wat een expertise op zichzelf is. Erg mooi om te zien dat Robot Framework gebruikt kan worden voor relatief “simpele” RPA zoals automatisch acties uitvoeren na ontvangst van een email tot aan duizenden complexe security testen parallel uitvoeren over verschillende virtuele machines.
Nog vele andere presentaties werden gegeven, te veel om hier allemaal samen te vatten.
Heb je interesse om deze talks eens te bekijken? Op 3 maart 2023 is er een virtuele editie van RoboCon waar ze allemaal (want ze zijn opgenomen) nog eens te zien zijn samen met vele nieuwe talks. Kijk op https://www.robocon.io voor tickets. Hier kun je ook het archief bekijken met presentaties van afgelopen jaren.
Mocht je naar aanleiding van deze blogpost meer willen weten over Robot Framework of de onderwerpen die besproken zijn tijdens RoboCon? Neem gerust contact met ons op!