Stap 2: Extracten van de pdf-tekst
Hierna voert de testautomatisering de acties uit die ervoor zorgen dat het report wordt aangemaakt en dat naar de URL wordt genavigeerd. Hiermee wordt het report gedownload en daarna haal ik de inhoud van het pdf-bestand op. Ik maak hierbij gebruik van Apache PDFBox. Dit is een Java library die je eenvoudig kunt importeren in je oplossing (https://pdfbox.apache.org/). Naast het nieuw opgeslagen pdf-bestand heb ik vooraf een verwachting-pdf opgeslagen. Deze heb ik van tevoren handmatig geverifieerd en sla ik op in een aparte map van de codestack. Van beide bestanden lees ik middels onderstaande functie de platte tekst uit. Ik ben me er bewust van dat ik hiermee eventuele opmaakfouten mis kan lopen, maar omdat elke wijziging ook nog een kleine(re) handmatige test krijgt, is dit een acceptabel risico voor mij.
Stap 3: Asserten van verwachting en resultaat
De resultaten van bovenstaande functie sla ik op in een variabele en daarna gebruik ik een eenvoudige assert om te verifiëren of deze naar behoren zijn. Dit is bewust een simpele assert gebleven, want deze hoort altijd te slagen.
Het gebruik van relatieve paden
Deze oplossing draait op onze Linux runner, maar moet ook lokaal door de tester uitgevoerd kunnen worden. Door gebruik te maken van relatieve paden is dit gelukt! Dit zorgt ervoor dat ik eventueel gefaalde testen lokaal kan herhalen. Hierdoor weet ik bij de start van mijn werkdag dat – in de basis – onze pdf-bestanden nog zijn zoals verwacht. Hiermee is een groot gedeelte van de risico’s van de pdf-bestanden ondervangen.
Zelf aan de slag
Aan de hand van deze drie stappen kun je zelf eenvoudig aan de slag met het meenemen van pdf-bestanden in je test automatisering. Wil je meer weten over bovenstaande oplossing of loop je tegen problemen aan bij het implementeren ervan? Neem dan gerust contact met me op