Beste testtools voor automatisering van Selenium: Robot Framework vs Katalon Studio

Onlangs had ik de kans om met verschillende softwaretestteams te werken om hen te helpen aan de slag te gaan met hun inspanningen op het gebied van testautomatisering. De teams bestaan ​​voornamelijk uit handmatige testers, en sommige die eerder ervaring hadden met testautomatisering, maar geen van hen was bekend met programmeren als ontwikkelaars. De applicaties zijn meestal webgebaseerd, met bijbehorende mobiele apps. We hebben een korte lijst gemaakt van verschillende testtools, waaronder gratis en niet-vrije, en kwamen vervolgens met de twee beste - Robot Framework en Katalon Studio. Het zijn over het algemeen vrij goede keuzes, dus ik denk dat het interessant zou zijn om een ​​vergelijking naast elkaar te maken en te zien hoe ze in de toekomst zullen presteren.

Technologie

Beide zijn gebouwd op Selenium - het automatiseringsraamwerk dat momenteel wordt ondersteund door topontwikkelaars van webbrowsers (Google, Microsoft, Apple, Mozilla). Het is veilig om te zeggen dat Selenium de beste manier is om uw webbrowser voorlopig te automatiseren.

Selenium kan ook worden gebruikt om mobiele apps te automatiseren via Appium. Toegegeven dat Google en Apple beide hun eigen manier bedenken om te automatiseren, betekent het gebruik van Selenium en Appium dat we broncode en kennis op meerdere platforms kunnen hergebruiken - één keer leren, overal schrijven.

Dus voor technologie is het gelijkspel. Robot Framework - Katalon Studio: 1–1.

Prijs

Beide zijn gratis zonder verplichtingen. Het uitvoeren van verouderde "enterprise" -software zoals UFT is gewoon kostenverbodig voor ons.

Robot Framework - Katalon Studio: 1–1.

Installatie & componenten

Robot Framework wordt geleverd met twee afzonderlijke componenten: de testloper en de IDE. Het is een beetje ingewikkeld om deze componenten te installeren, maar als alles eenmaal is gedaan, bent u klaar om te gaan. Eerst moet u Python op uw computer installeren. Voer vervolgens enkele opdrachtregels uit. Als u Windows gebruikt, kunt u problemen ondervinden omdat dit besturingssysteem niet de eersteklas burger van Python is, maar ze komen zelden voor en oplossingen kunnen eenvoudig worden googled.

Er is eigenlijk een derde "niet-officiële" component, die ik later zal noemen.

Voor Katalon Studio is dit naar mijn mening een van de beste installatie-ervaringen. Als u Eclipse hebt geïnstalleerd, zou u het weten. Voor Windows moet u een ZIP-bestand downloaden en uitpakken. Voor macOS is er een DMG-bestand voor u klaar. Best netjes.

Robot Framework - Katalon Studio: 0,5-1.

Testontwerp

Opname (codeloze testautomatisering)

Eerlijk gezegd ben ik als programmeur geen groot fan van opnemen en afspelen. Het voelt voor mij gemakkelijker en sneller om gewoon de code te typen. Voor degenen die weinig ervaring hebben met coderen, is de mogelijkheid om hun acties op te nemen en testgevallen te genereren een enorme productiviteitswinst.

Helaas biedt Robot Framework geen recorder - en dit is waar het derde onderdeel verschijnt. Het Selenium-project bevat een beruchte Firefox-add-on genaamd Selenium IDE, die in wezen een testrecord- en afspeelhulpprogramma is. Selenium IDE kan add-ons hebben (het is add-on bij add-on!), En iemand had zo vriendelijk een add-on geschreven die Selenium IDE helpt bij het genereren van Robot Framework-code. Er moet nog wat worden geïnstalleerd, maar het werkt.

Het nadeel hiervan is dat de ontwikkeling van Selenium IDE al een tijdje inactief is en gebaseerd is op het oude add-on framework van Firefox, dat ze eind 2017 hebben besloten los te koppelen. Ja, Selenium IDE stopt op dat moment met werken voor nieuwere Firefox-versies.

Katalon Studio heeft zijn eigen add-ons voor Chrome, Firefox en zelfs Internet Explorer. Installatie is net zo eenvoudig als naar de bijbehorende webbrowser add-on winkels gaan en op installeren klikken.

Katalon Studio vergroot zijn voorsprong hier. Robot Framework - Katalon Studio: 0,5-1.

Codering (Scripting)

Robot Framework heeft zijn eigen domeinspecifieke taal (DSL). Aangepaste zoekwoorden kunnen worden geschreven in Python en Java, maar als het gaat om de inhoud van testcases, moet je die DSL spreken. Waarom het menselijke talen nabootst voor eenvoudige testgevallen, zijn complexe die nogal robotachtig. Persoonlijk vind ik het minder beschrijvend dan gangbare programmeertalen:

*** Instellingen ***
Bibliotheek String
*** Testgevallen ***
Voor-Loop-In-Range
 : VOOR $ {INDEX} IN BEREIK 1 3
 \ Log $ {INDEX}
 \ $ {RANDOM_STRING} = Genereer willekeurige tekenreeks $ {INDEX}
 \ Log $ {RANDOM_STRING}
Voor-Loop-Elementen
 @ {ITEMS} Lijst maken Star Trek Star Wars Perry Rhodan
 : VOOR $ {ELEMENT} IN @ {ITEMS}
 \ Log $ {ELEMENT}
 \ $ {ELEMENT} String vervangen $ {ELEMENT} $ {SPACE} $ {EMPTY}
 \ Log $ {ELEMENT}
Voor-Loop-afsluiten
 @ {ITEMS} Lijst maken Goed element 1 Break On Me Goed element 2
 : VOOR $ {ELEMENT} IN @ {ITEMS}
 \ Log $ {ELEMENT}
 \ Run Keyword If '$ {ELEMENT}' == 'Break On Me' Exit For Loop
 \ Log Hier meer acties uitvoeren ...
Herhaal-actie
 Herhaal trefwoord 2 logboek Dit herhalen ...

Maar de Robot Framework IDE met syntaxisaccentuering is goed, dus ik denk dat ik er toch snel aan kan wennen.

Katalon Studio ondersteunt daarentegen Groovy en natuurlijk Java (Groovy is gebaseerd op Java). Waarom het niet zo populair is als reguliere programmeertalen zoals Java, C # of JavaScript, heeft het vergelijkbare productieve structuren als in Ruby, Python of JavaScript. Een ander goed ding is dat er veel gratis Java-bibliotheken zijn om alles te doen, dus we hoefden niet "alles" te herschrijven.

Maar het coolste in Katalon Studio is dat we op elk moment kunnen schakelen tussen de handmatige modus (met recorder en aanwijzen en klikken GUI) en de scriptmodus (met Groovy-editor). We hebben hiervan geprofiteerd om manuele testers te leren code te schrijven. Eerst ontwerpen ze hun testcases door middel van aanwijzen en klikken op acties en elementen, en schakelen vervolgens over naar de Script-modus om de equivalente Groovy-code te zien. Zeer mooie functie.

Robot Framework - Katalon Studio: 0,5-1.

Testgegevens

Beide zijn goed. Gegevens voor testgevallen kunnen worden gevoed vanuit Excel-bestanden, databases enz. We hebben wat we nodig hebben, dus nu niets om over te klagen.

Robot Framework - Katalon Studio: 1–1.

Uitbreidbaarheid van zoekwoorden

U kunt aangepaste zoekwoorden schrijven in zowel Robot Framework als Katalon Studio. Ze hadden een aantal herhaaldelijk ceremoniële syntaxis nodig, maar testers kunnen hun eigen zoekwoorden schrijven zonder de hulp van programmeurs. De documentatie en tutorials zijn goed genoeg, dus ik laat dit even achter. Robot Framework - Katalon Studio: 1–1.

Uitvoering, rapportage en integratie

We verwachten dat moderne testautomatiseringstools testgevallen kunnen uitvoeren via de opdrachtregel en in CI zoals Jenkins. We hebben ook rapporten in de app nodig om het zoeken naar fouten te vergemakkelijken. De rapporten moeten ook worden opgesteld in een archiverbaar formaat (HTML, CSV, PDF) zodat ze later kunnen worden opgezocht.

Het lijkt erop dat Katalon Studio experimenteert met een meer native JIRA-integratie, wat goed klinkt voor mij omdat we ook JIRA gebruiken, maar laat me zien hoe goed het zal werken.

Wat in beide ontbreekt, is een afbeelding om de tijd voor CI-implementatie en -configuratie te verkorten, maar misschien is het gewoon mijn luiheid.

Nog een gelijkspel voor mij. Robot Framework - Katalon Studio: 1–1.

Gemeenschap en ondersteuning

Beide producten zijn in actieve ontwikkeling en worden goed ondersteund door hun eigenaars en de gemeenschap. De vragen worden in zeer korte tijd beantwoord. Omdat Robot Framework en Katalon Studio gebaseerd zijn op Selenium, kunnen we bovendien voor complexe scenario's vrijwel hun toevlucht nemen tot vanille Selenium en WebDriver.

Het lijkt erop dat Katalon Studio is gebouwd door een bedrijf dat softwaretestservices uitvoert, wat betekent dat ze weten welke functies praktisch en noodzakelijk zijn. Robot Framework is een populair open source-project op GitHub, dus ik verwacht hetzelfde.

De laatste gelijkspel hier. Robot Framework - Katalon Studio: 1–1.

Gevolgtrekking

Robot Framework: 7.5 / 9 - Katalon Studio: 9/9.

Beide tools zijn geweldige keuzes voor testautomatiseringsteams, met Katalon Studio heeft een overhand op gebruikerservaring en is daarom beter dan Robot Framework voor tester-gebaseerd testautomatiseringsteam. De concurrentie is altijd goed voor de consument en ik kijk ernaar uit om in de toekomst meer vorderingen van de spelers te zien.

Mijn blogpost: Robot Framework vs Katalon Studio