Bedste Selenium-automatiseringstestværktøj gennemgang: Robot Framework vs Katalon Studio

For nylig havde jeg en chance for at arbejde sammen med flere softwaretestholdsteam for at hjælpe dem med at komme i gang med deres testautomatiseringsbestræbelser. Holdene består hovedsageligt af manuelle testere, og nogle, der havde erfaring med testautomation før, men ingen af ​​dem kendte programmering som udviklere. Applikationerne er for det meste webbaseret med ledsagende mobile apps. Vi lavede en kort liste over flere testværktøjer, inklusive gratis og ikke-frie, og kom derefter med de to bedste dem - Robot Framework og Katalon Studio. De er generelt ganske gode valg, så jeg synes, det ville være interessant at foretage en sammenligning side om side og se, hvordan de vil klare sig i fremtiden.

Teknologi

Begge er bygget oven på Selenium - automatiseringsrammen, der i øjeblikket er bakket op af top webbrowserudviklere (Google, Microsoft, Apple, Mozilla). Det er sikkert at sige, at Selenium er den bedste måde at automatisere din webbrowser på nuværende tidspunkt.

Selen kan også bruges til at automatisere mobile apps via Appium. Indrømmet, at Google og Apple begge kommer frem til deres egen måde at udføre automatisering på, ved hjælp af Selenium og Appium betyder det, at vi kan genbruge kildekode og viden i flere platforme - lære en gang, skriv overalt.

Så for teknologi er det et slips. Robotramme - Katalon Studio: 1–1.

Pris

Begge er gratis uden forpligtelse. At køre forældet “enterprise” -software som UFT er bare omkostningsbudget for os.

Robotteramme - Katalon Studio: 1–1.

Installation og komponenter

Robot Framework leveres med to separate komponenter: testløberen og IDE. Det er lidt kompliceret at installere disse komponenter, men når tingene er gjort, er du god til at gå. Først skal du installere Python på din computer. Kør derefter nogle kommandolinjer. Hvis du bruger Windows, kan du muligvis støde på problemer, fordi dette operativsystem ikke er Pythons førsteklasses borger, men de sker sjældent, og løsninger kan let googles.

Der er faktisk en tredje "uofficiel" komponent, som jeg vil nævne senere.

For Katalon Studio er dette efter min mening en af ​​de bedste installationsoplevelser. Hvis du har installeret Eclipse, ville du vide det. For Windows skal du downloade en ZIP-fil og udpakke. For macOS er der en DMG-fil klar til dig. Temmelig pæn.

Robotramme - Katalon Studio: 0,5–1.

Testdesign

Optagelse (kodeløs testautomation)

Helt ærligt, som programmerer er jeg ikke en stor fan af optagelse og afspilning. Det føles lettere og hurtigere for mig at bare indtaste koden. For dem, der har ringe erfaring med kodning, er muligheden for at registrere deres handlinger og generere testsager en enorm produktivitetsgevinst.

Desværre giver Robot Framework ikke en optager - og det er her den tredje komponent dukker op. Selenium-projektet inkluderer en berygtet Firefox-tilføjelse kaldet Selenium IDE, som i det væsentlige er et testoptagelses- og afspilningsværktøj. Selenium IDE kan have tilføjelser (det er tilføjelse ved tilføjelse!), Og nogen havde venligt skrevet en tilføjelse, der hjælper Selenium IDE med at generere robotramkode. Nogle mere installation fungerer, men den fungerer.

Ulempen med dette er, at Selenium IDE-udviklingen har været inaktiv i et stykke tid, og den er baseret på Firefox's gamle add-on-ramme, som de har besluttet at fjerne stikket i slutningen af ​​2017. Ja, Selenium IDE stopper med at arbejde på det tidspunkt til nyere Firefox-versioner.

Katalon Studio leveres med sine egne tilføjelser til Chrome, Firefox og endda Internet Explorer. Installation er så let som at gå til tilsvarende webbrowser-add-on-butikker og klikke på installation.

Katalon Studio udvider sit forspring her. Robotramme - Katalon Studio: 0,5–1.

Kodning (scripting)

Robot Framework har sit eget domænespecifikke sprog (DSL). Brugerdefinerede nøgleord kan skrives i Python og Java, men når det kommer til testindholdets indhold, skal du tale det DSL. Hvorfor det efterligner menneskelige sprog til enkle testsager, er komplekse sprog ganske robuste. Jeg finder det personligt mindre beskrivende end almindelige programmeringssprog:

*** Indstillinger ***
Bibliotekstreng
*** Testtilfælde ***
For-Loop-In-Range
 : FOR $ {INDEX} I RANGE 1 3
 \ Log $ {INDEX}
 \ $ {RANDOM_STRING} = Generer tilfældig streng $ {INDEX}
 \ Log $ {RANDOM_STRING}
For-Loop-Elements
 @ {ITEMS} Opret liste Star Trek Star Wars Perry Rhodan
 : FOR $ {ELEMENT} IN @ {ITEMS}
 \ Log $ {ELEMENT}
 \ $ {ELEMENT} Erstat streng $ {ELEMENT} $ {SPACE} $ {EMPTY}
 \ Log $ {ELEMENT}
For-Loop-Exiting
 @ {ITEMS} Opret liste Good Element 1 Break On Me Good Element 2
 : FOR $ {ELEMENT} IN @ {ITEMS}
 \ Log $ {ELEMENT}
 \ Kør nøgleord, hvis '$ {ELEMENT}' == 'Break On Me' Afslut for loop
 \ Log Foretag flere handlinger her ...
Gentag-Handling
 Gentag nøgleord 2 Log Gentag dette ...

Men Robot Framework IDE med syntaksbelysning er god, så jeg gætte på, at jeg alligevel kan vænne mig til det hurtigt.

Katalon Studio understøtter på den anden side Groovy og selvfølgelig Java (Groovy er baseret på Java). Hvorfor det ikke er så populært som mainstream-programmeringssprog som Java, C # eller JavaScript - det har lignende produktive strukturer som i Ruby, Python eller JavaScript. En anden god ting er, at der er masser af gratis Java-biblioteker til bare at gøre alt, så vi behøvede ikke at omskrive “alt”.

Men den sejeste ting i Katalon Studio er, at vi kan skifte mellem manuel tilstand (med optager og peg-og-klik-GUI) og script-tilstand (med Groovy-editor) når som helst. Vi udnyttede dette til at uddanne manuelle testere til at skrive kode. De designer først deres testtilstande ved hjælp af peg-og-klik-handlinger og -elementer, og skifter derefter til scripttilstand for at se den tilsvarende Groovy-kode. Meget flot funktion.

Robotramme - Katalon Studio: 0,5–1.

Testdata

Begge er gode. Data til testsager kan mates fra Excel-filer, databaser osv. Vi har det, vi har brug for, så intet at klage over nu.

Robotramme - Katalon Studio: 1–1.

Nøgleordets udvidelse

Du kan skrive brugerdefinerede nøgleord i både robotramme og Katalon Studio. De krævede nogle gentagne ceremonielle syntaks, men testere kan skrive deres egne nøgleord uden hjælp fra programmerere. Dokumentationen og tutorials er gode nok, så jeg vil lade dette være et uafgjort. Robotramme - Katalon Studio: 1–1.

Udførelse, rapportering og integration

Vi forventer, at moderne testautomatiseringsværktøjer er i stand til at udføre testsager via kommandolinjen og i CI som Jenkins. Vi skal også have rapporter i appen for at gøre det let at undersøge fejl. Rapporterne skal også udarbejdes i arkiverbart format (HTML, CSV, PDF), så de kan slås op senere.

Det ser ud til, at Katalon Studio eksperimenterer med en mere indbygget JIRA-integration, hvilket lyder godt for mig, da vi også bruger JIRA, men lad mig se, hvor godt det vil fungere.

Én ting mangler i begge dele er et billede til at skære ned på tiden til CI-distribution og konfiguration, men måske er det bare min dovenskab.

Et andet slips for mig. Robotramme - Katalon Studio: 1–1.

Fællesskab og støtte

Begge produkter er i aktiv udvikling og understøttes godt af deres ejere såvel som samfundet. Spørgsmålene besvares på meget kort tid. Da Robot Framework og Katalon Studio er Selenium-baserede, kan vi desuden temmelig ty til vaniljeselenium og WebDriver for komplekse scenarier.

Det ser ud til, at Katalon Studio er bygget af et firma, der udfører software-testtjenester, hvilket betyder, at de ved, hvilke funktioner der er praktiske og nødvendige. Robot Framework er et populært open source-projekt på GitHub, så jeg forventer det samme.

Det sidste slips her. Robotteramme - Katalon Studio: 1–1.

Konklusion

Robotramme: 7.5 / 9 - Katalon Studio: 9/9.

Begge værktøjer er gode valg for testautomationsteam, med Katalon Studio har en overhånd på brugeroplevelse og er derfor bedre end Robot Framework til testbaseret testautomationsteam. Konkurrence er altid god for forbrugerne, og jeg ser frem til at se flere fremskridt fra spillerne i fremtiden.

Mit blogindlæg: Robot Framework vs Katalon Studio