Beste gjennomgang av verktøy for testing av selenautomatisering: Robot Framework vs Katalon Studio

Nylig hadde jeg en sjanse til å samarbeide med flere testteam for programvare for å hjelpe dem i gang med testautomatiseringene sine. Lagene består av stort sett manuelle testere, og noen som hadde erfaring med testautomatisering før, men ingen av dem var kjent med programmering som utviklere. Applikasjonene er for det meste nettbaserte, med ledsagende mobilapper. Vi lagde en kort liste over flere testverktøy, inkludert gratis og ikke-gratis, og kom frem med de to beste - Robot Framework og Katalon Studio. De er ganske gode valg generelt, så jeg tror det ville være interessant å foreta en sammenligning ved siden av hverandre og se hvordan de vil prestere i fremtiden.

Teknologi

Begge er bygget på toppen av Selenium - automatiseringsrammen som for øyeblikket er støttet av topp nettleserutviklere (Google, Microsoft, Apple, Mozilla). Det er trygt å si at Selenium er den beste måten å automatisere nettleseren på nå.

Selen kan også brukes til å automatisere mobilapper via Appium. Gitt at Google og Apple begge kommer på sin egen måte å gjøre automatisering, ved å bruke Selenium og Appium betyr det at vi kan gjenbruke kildekode og kunnskap i flere plattformer - lære en gang, skrive overalt.

Så for teknologi er det uavgjort. Robot Framework - Katalon Studio: 1–1.

Pris

Begge er gratis uten forpliktelse. Å kjøre utdatert “enterprise” -programvare som UFT er bare kostnadsfor lite for oss.

Robot Framework - Katalon Studio: 1–1.

Installasjon og komponenter

Robot Framework har to separate komponenter: testløperen og IDE. Det er litt komplisert å installere disse komponentene, men når ting er gjort, er du god til å gå. Først må du installere Python på datamaskinen din. Kjør deretter noen kommandolinjer. Hvis du bruker Windows, kan du støte på problemer fordi dette operativsystemet ikke er Pythons førsteklasses innbygger, men de skjer sjelden, og løsninger kan enkelt googles.

Det er faktisk en tredje “uoffisiell” komponent, som jeg vil nevne senere.

For Katalon Studio er dette etter min mening en av de beste installasjonsopplevelsene. Hvis du har installert Eclipse, vil du vite det. For Windows må du laste ned en ZIP-fil og trekke ut. For macOS er det en DMG-fil klar for deg. Temmelig stilig.

Robot Framework - Katalon Studio: 0.5–1.

Testdesign

Innspilling (kodløs testautomasjon)

Ærlig talt, som programmerer, er jeg ikke en stor fan av plate og avspilling. Det føles enklere og raskere for meg å bare skrive inn koden. For de som har liten erfaring med koding, er imidlertid muligheten til å registrere handlingene sine og generere testsaker en enorm produktivitetsgevinst.

Dessverre gir ikke Robot Framework en opptaker - og det er her den tredje komponenten dukker opp. Selenium-prosjektet inkluderer et beryktet Firefox-tillegg kalt Selenium IDE, som egentlig er et testopptak og avspillingsverktøy. Selenium IDE kan ha tilleggsprogrammer (det er add-on på add-on!), Og noen hadde velvillig skrevet et tillegg som hjelper Selenium IDE med å generere Robot Framework-kode. Noe mer installasjon fungerer som skal gjøres, men det fungerer.

Ulempen med dette er at Selenium IDE-utviklingen har vært inaktiv en stund, og den er basert på Firefoxs gamle tilleggsramme, som de har bestemt seg for å koble fra i slutten av 2017. Ja, Selenium IDE vil slutte å jobbe på det tidspunktet for nyere Firefox-versjoner.

Katalon Studio kommer med egne tillegg for Chrome, Firefox og til og med Internet Explorer. Installasjonen er like enkel som å gå til tilsvarende nettleser add-on butikker og klikke installer.

Katalon Studio utvider ledelsen her. Robot Framework - Katalon Studio: 0.5–1.

Koding (skripting)

Robot Framework har sitt eget domenespesifikke språk (DSL). Egendefinerte nøkkelord kan skrives i Python og Java, men når det gjelder innhold i testtilfeller, må du snakke det DSL. Hvorfor det etterligner menneskers språk for enkle testtilfeller, er komplekse språk ganske robuste. Jeg synes det personlig er mindre beskrivende enn vanlige programmeringsspråk:

*** Innstillinger ***
Bibliotekstreng
*** Testtilfeller ***
For-Loop-In-Range
 : FOR $ {INDEX} I RANGE 1 3
 \ Logg $ {INDEX}
 \ $ {RANDOM_STRING} = Generer tilfeldig streng $ {INDEX}
 \ Logg $ {RANDOM_STRING}
For-Loop-Elements
 @ {ITEMS} Lag liste Star Trek Star Wars Perry Rhodan
 : FOR $ {ELEMENT} IN @ {ITEMS}
 \ Logg $ {ELEMENT}
 \ $ {ELEMENT} Erstatt streng $ {ELEMENT} $ {SPACE} $ {EMPTY}
 \ Logg $ {ELEMENT}
For-Loop-avslutning
 @ {ITEMS} Lag liste Good Element 1 Break On Me Good Element 2
 : FOR $ {ELEMENT} IN @ {ITEMS}
 \ Logg $ {ELEMENT}
 \ Kjør nøkkelord hvis '$ {ELEMENT}' == 'Break On Me' Avslutt for sløyfe
 \ Logg Gjør flere handlinger her ...
Gjenta handling
 Gjenta nøkkelord 2 Logg Gjenta dette ...

Men Robot Framework IDE med syntaksutheving er bra, så jeg antar at jeg kan bli vant til det raskt uansett.

Katalon Studio støtter derimot Groovy og selvfølgelig Java (Groovy er basert på Java). Hvorfor det ikke er så populært som vanlige programmeringsspråk som Java, C # eller JavaScript - det har lignende produktive strukturer som i Ruby, Python eller JavaScript. En annen god ting er at det er mange gratis Java-biblioteker som kan gjøre alt, så vi trengte ikke å skrive om “alt”.

Men det kuleste i Katalon Studio er at vi når som helst kan veksle mellom manuell modus (med opptaker og pek-og-klikk-GUI) og skriptmodus (med Groovy-editor). Vi benyttet oss av dette for å utdanne manuelle testere til å skrive kode. De utformer først testtilfellene ved å peke-og-klikke handlinger og elementer, og deretter bytte til skriptmodus for å se den tilsvarende Groovy-koden. Veldig fin funksjon.

Robot Framework - Katalon Studio: 0.5–1.

Testdata

Begge er gode. Data for testtilfeller kan mates fra Excel-filer, databaser osv. Vi har det vi trenger, så ingenting å klage på nå.

Robot Framework - Katalon Studio: 1–1.

Utvidbarhet av søkeord

Du kan skrive tilpassede nøkkelord i både Robot Framework og Katalon Studio. De krevde noen seremoniell syntaks gjentatte ganger, men testere kan skrive sine egne nøkkelord uten hjelp fra programmerere. Dokumentasjonen og opplæringsprogrammene er gode nok, så jeg vil la dette være et slips. Robot Framework - Katalon Studio: 1–1.

Utførelse, rapportering og integrering

Vi forventer at moderne testautomatiseringsverktøy skal kunne utføre testsaker via kommandolinjen og i CI som Jenkins. Vi må også ha rapporter i appen for å gjøre det enkelt å undersøke feil. Rapportene bør også utarbeides i arkiverbart format (HTML, CSV, PDF), slik at de kan slås opp senere.

Det ser ut til at Katalon Studio eksperimenterer med en mer innfødt JIRA-integrasjon, noe som høres bra ut for meg siden vi også bruker JIRA, men la meg se hvor bra det vil ordne seg.

En ting som mangler i begge deler er et bilde for å kutte ned tiden for CI-distribusjon og konfigurasjon, men kanskje er det bare latskapen min.

Nok et slips for meg. Robot Framework - Katalon Studio: 1–1.

Fellesskap og støtte

Begge produktene er i aktiv utvikling og støttes godt av sine eiere så vel som samfunnet. Spørsmålene blir besvart på veldig kort tid. Siden Robot Framework og Katalon Studio er Selenium-basert, kan vi dessuten ganske mye ty til vaniljeselenium og WebDriver for komplekse scenarier.

Det ser ut til at Katalon Studio er bygget av et selskap som driver med testing av programvaretesting, noe som betyr at de vet hvilke funksjoner som er praktiske og nødvendige. Robot Framework er et populært open source-prosjekt på GitHub, så jeg forventer det samme.

Det siste slips her. Robot Framework - Katalon Studio: 1–1.

Konklusjon

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

Begge verktøyene er gode valg for testautomatiseringsteam, med Katalon Studio som har en overhånd på brukeropplevelsen og er derfor bedre enn Robot Framework for testbasert testautomatiseringsteam. Konkurranse er alltid bra for forbrukerne, og jeg ser frem til å se flere fremskritt fra spillerne i fremtiden.

Blogginnlegget mitt: Robot Framework vs Katalon Studio