Fremtiden for Robot Framework og Selenium

Discover how to deliver better software and systems in rapidly scaling environments. Join our Community

Fremtiden for Robot Framework og Selenium er vigtig at følge for alle inden for testautomatisering. Læs mere om dem her!

Alle inden for testautomatisering kender Robot Framework og Selenium. De er de to førende automatiseringsrammer, som udviklere og testere bruger til at bygge testmiljøer, der automatiserer testningen af en anden applikation.

Så hvad er de fremtidige anvendelser af disse rammer, og hvordan vil de forme udviklingen af teknologi og webapplikationer? I denne artikel vil jeg undersøge lighederne og forskellene mellem Robot Framework og Selenium, nøgleordsautomatisering samt andre ekspertindsigter.

Lighederne mellem Robot Framework og Selenium

Begge rammer er gennemprøvede teknologier, hvor Selenium har eksisteret i over to årtier, og Robot Framework nærmer sig 20 år. 

Begge er åben kildekode og har brugerbaser på hundredtusinder (hvis ikke millioner). Ingen af dem er dog et værktøj i ordets strengeste betydning; de er rammer, som du bruger til at bygge værktøjet til dit specifikke testformål. 

Robot Framework og Selenium bruges bredt til test af webapplikationer. Faktisk blev Selenium udviklet specifikt til dette formål, mens Robot Framework er designet til at automatisere næsten alt. Robot Framework bruges endda til test af tidskritiske signalsystemer.

Begge rammer er tilgængelige fra forskellige programmeringssprog—Selenium har historisk været forbundet med Java og C++, mens Robot Framework primært forbindes med Python.

Get Free Access
Get regular tech leadership wisdom for delivering better software and systems.
Get Free Access

Have an account? Log In

Forskellene mellem Robot Framework og Selenium

En ramme til testautomatisering fungerer mellem testeren og den applikation, der testes. Den har en scriptgrænseflade (“øvre testgrænseflade”) til at beskrive testene over for rammen og en drivergrænseflade (“nedre testgrænseflade”) til at styre den applikation, der testes, ved at simulere brugerens handlinger. Den primære opgave for rammen er således at oversætte kommandoerne i testscriptets øvre grænseflade til punkter, klik og tastetryk i den nedre grænseflade.

Selenium etablerede oprindeligt standarden for den nedre grænseflade inden for test af webapplikationer: en ensartet model til adressering af elementer på websider ved hjælp af et lokaliseringsformat kendt som XPath. Den øvre grænseflade i Selenium er blot et tyndt programmeringsbibliotek til at arbejde med XPath-udtryk, hvilket kræver stærke programmeringsevner. Derudover ved alle Selenium-brugere, at XPath-udtryk har tendens til at ændre sig, og at test kræver kontinuerlig, tidskrævende og dyr vedligeholdelse.

Robot Framework blev skabt ud af frustration over besværlige automatiseringsværktøjer, heriblandt Selenium. Målet med designet var at bygge en generisk automatiseringsramme, der kan udvides med brugerdefinerede biblioteker, som implementerer forskellige testgrænseflader. Konceptet var inspireret af nøgleordsbaseret automatisering, som blev banebrydende udviklet af Hans Buwalda og adfærdsdrevet udvikling (BDD). 

Hvad er nøgleordsbaseret automatisering i Robot Framework?

Nøgleordsbaseret automatisering er processen med at programmere kommandoer på højt niveau såsom Login, EnterLead, CreateContact osv., der udfører de typiske handlinger, som en tester eller en rigtig bruger ville udføre. Nøgleordene skjuler de besværlige detaljer ved XPath og andre tekniske forhold. Testdesignerne bruger derefter nøgleordene til at definere de faktiske test. Hvis noget ændrer sig i implementeringen af den underliggende applikation, behøver man kun at ændre definitionen af nøgleordene, hvorefter alle test, der bruger nøgleordet, fungerer igen.

Overvejelser ved nøgleordsbaseret automatisering

Nøgleordsbaseret automatisering har dog en ulempe. Der skal bruges mange overvejelser på at definere nøgleordsordforrådet for at undgå en voldsom stigning i antallet af nøgleord. Hvis du anvender BDD, er en voldsom stigning i antallet af nøgleord næsten garanteret. Hvis nøgleordsordforrådet er applikationsspecifikt, betyder brugen af Robot Framework til at designe test for én applikation ikke, at man er dygtig til at designe test for en anden. 

Og ligesom med Selenium har de udviklere, der vedligeholder disse nøgleordsimplementeringer, tendens til at blive flaskehalse i processen. De ustabile XPath-udtryk, der kræver vedligeholdelse, kan være langt færre end med Selenium, men de findes stadig.

More Articles

Fordele ved nøgleordsbaseret automatisering og omfattende biblioteker

Robot Frameworks udvidelsesmuligheder har gjort det muligt for fællesskabet at skabe en lang række nyttige nøgleordsbiblioteker. Der findes for eksempel mindst tre unikke biblioteker til webautomatisering: SeleniumLibrary, QWeb og BrowserLibrary.  Robot Frameworks SeleniumLibrary er bygget på Selenium, men på et højere abstraktionsniveau end selve Selenium. Fællesskabet stiller et væld af biblioteker til rådighed til forskellige andre formål, såsom API-test eller generering af testdata. 

Hvis du er professionel programmør, kan du udføre enhver webautomatiseringsopgave med Selenium, men du skal selv løse hele opgaven. Robot Framework giver samme grad af fleksibilitet, men med et stort antal nyttige biblioteker, der kan gøre dit arbejde mere produktivt.

Den gennemtænkte model for udvidelsesmuligheder er en af Robot Frameworks betydelige styrker. Du kan for eksempel oprette nye nøgleordsbiblioteker ved at programmere dem i Python eller et andet sprog efter eget valg, eller du kan ganske enkelt sætte eksisterende nøgleord i rækkefølge, selv med grundlæggende kontrolstrukturer, for at skabe nye.

En bemærkning om kodefri automatisering

Hvis du ikke er professionel programmør, vil du være hjælpeløs med Selenium og, for at være ærlig, næsten hjælpeløs med Robot Framework. Du kan ikke forstå ret meget af et Selenium-script, men hvis du ser et testscript i Robot Framework, kan du sandsynligvis, men ikke altid, følge logikken og forstå, hvad det er meningen, det skal gøre. Hvis du har gode eksempler at kopiere og forbedre, vil du endda kunne oprette Robot Framework-scripts selv.

Mange testansvarlige vurderer, at det er mere produktivt at arbejde med Robot Framework end med Selenium takket være det højere abstraktionsniveau og de færdige biblioteker, som reducerer både omkostningerne ved automatisering og især omkostningerne ved testvedligeholdelse. Det er almindeligt at se en produktivitetsforøgelse på fire til otte gange sammenlignet med Selenium. 

Hvis du derimod ved, hvad du laver, kan du uden tvivl få det gjort med Selenium: Smerten ved selv at skulle gøre næsten alt opvejes af friheden til selv at kunne gøre hvad som helst.

Esko Hannula
Esko Hannula is VP Product Line Management at Copado, a DevOps and testing solution for low code SaaS platforms that run the world’s largest digital transformations. Backed by Insight Partners, Salesforce Ventures and SoftBank Vision Fund, Copado accelerates multi-cloud, enterprise deployments by automating the end-to-end software delivery process to maximize customers’ return on their cloud investment.
Follow the author:

You may also like