step step guide jubula open source automated functional testing tool
(Detaljerad handledning med många bilder, så låt den laddas)
Idag ska vi lära oss en populär open source funktionellt testverktyg - Jubula.
Det är ett Eclipse-projekt för automatiserad funktionell GUI-testning för många applikationer. Det är användbart för att skriva automatiserade tester ur användarperspektivet med lite eller inga kodningsförmåga , sparar tid och förbättrar läsbarheten och testunderhållet.
Ett brett spektrum av öppen källkod automatiseringsverktyg finns på marknaden med den stora mängden online-hjälp.
När det kommer till Jubula , onlinehjälpen ger mycket information om det inbyggda ramverket. Denna information är till stor nytta för de icke-tekniska testare som inte är inblandade i kodning och vill skapa automatiseringsskript genom Jubulas GUI.
Men de tekniska automatiseringstestarna vill skapa en skräddarsydd ramverk använder Jubula har svårt att nå hjälp.
Denna detaljerade handledning är skapad i syfte att dela den kunskap jag har fått i Jubula för att hjälpa dig att skapa ett anpassat, robust och flexibelt ramverk för automatiseringstestning.
Låt oss först titta på det s inbyggda ramverk (Det här avsnittet i handledningen hjälper dig att förstå grunderna) och fortsätt sedan med Bygg ram i Jubula med Java-kod.
Vad du kommer att lära dig:
- Grunderna - inbyggt ramverk:
- Exempel AUT:
- Demoprojekt
- Hur man testar:
- Poäng att notera
- Bygg ramverk i Jubula med Java-kod:
- ELLER
- Skapa Object Mapping Class
- Utföra teståtgärder
- Arbeta med flera AUT
- Slutsats
- Rekommenderad läsning
Grunderna - inbyggt ramverk:
Installation och start:
(Notera: klicka på valfri bild för förstorad vy)
1) Gå till nedladdningssidan här .
Obs - Du kan kontrollera denna nedladdningssida för olika alternativ baserat på de funktioner du är intresserad av.
två) Registrera och logga in.
3) Klicka på Ladda ner installatörer.
4) Klicka på nedladdningssida under Jubula nedladdningar sektion.
5) Ladda ner lämpligt installationsprogram (enligt operativsystemet).
6) Installera den med den nedladdade exe filen och spara mappen på en önskad plats (jag har sparat den i C: Programfiler ).
7) När installationen är klar bör du kunna starta verktyget från 'Alla program'.
8) Medan du startar skapar du arbetsytan på en önskad plats.
9) Hemskärmen ser ut nedan:
Exempel AUT:
En imponerande sak med det här verktyget är att det kommer med exempel-AUT (applikationer under test). AUT: erna kommer att finnas i exempel AUT.
I det här fallet finns det i C: Program Files jubula_8.2.0.021 exempel AUT
Demoprojekt
Nu med Jubula installerat och exempel på AUT: er tillgängliga, låt oss försöka automatisera a enkel tilläggsfunktion med hjälp av en 'swing' -applikation som heter 'SimpleAdder'.
Denna applikation kan åberopas med hjälp av filen:
‘C: ProgramFiles jubula_8.2.0.021 exempel AUTS SimpleAdder swing SimpleAdder.cmd Och ser ut som nedan:
Uppgiften är att ange 'värde1', ange 'värde2', klicka på '=' knappen och verifiera 'resultatet'.
Hur man testar:
Nedan följer stegen som ska följas för att automatisera uppgiften:
Steg 1 - Skapa projekt.
Steg 2 - Skapa byte.
Steg 3 - Skapa testfall, inkludera teststeg och kartdata.
Steg 4 - Skapa testsvit.
Steg 5 - Tilldela AUT till testsviten.
Steg 6 - Kartlägg testfallet till testsviten.
Steg 7 - Kartlägga logiska testobjekt med tekniska objektidentifierare.
Steg 8 - Kör testpaketet.
Låt oss se hur man utför varje steg i detalj:
Steg # 1 - Skapa projekt
Ett projekt i Jubula kan betraktas som en logisk arbetsyta där alla nödvändiga komponenter samlas för att slutföra en testuppgift.
Skapandet av ett projekt går enligt nedan:
1) Gå till Test> Ny.
två) Ange projektets namn, t.ex. 'DemoProject' och klicka på 'Finish' (När du klickar på 'Next' skulle du kunna skapa AUT. Men låt oss 'Finish' här och titta på att skapa AUT i steg # 2).
3) Test Suite-webbläsaren visar det skapade projektet.
Steg # 2 - Skapa AUT
En instans av applikationen som testas (SimpleAdder) måste skapas i Jubula för objektmappning och för att köra testsviten.
1) Gå till Test> Egenskaper.
bästa webbhotell företag i Indien
två) Välj AUTS.
3) Ange AUT-namnet (detta kan vara vilket användardefinierat värde som helst. Exempelvis DemoAUTSimpleAdder).
4) Välj den teknik som AUT är utvecklad på. (I det här fallet är det 'gunga').
5) Klicka på “Lägg till” under AUT-konfiguration.
6) Ange AUT-ID (detta kan igen vara vilket användardefinierat värde som helst. Exempelvis DemoAUTSimpleAdderID).
7) Ange det körbara filnamnet, dvs. filen som åberopar AUT som öppnas. Som tidigare nämnts har jag använt 'C: ProgramFiles jubula_8.2.0.021 exempel AUTS SimpleAdder swing SimpleAdder.cmd' .
Observera att för att åberopa AUT genom Jubula måste den ha varit ansluten till AUT-agenter. Det finns två AUT-agenter som Jubula kan ansluta till:
- Inbäddad AUT-agent installerad på 'localhost: 60001'
- Extern AUT-agent installerad på 'localhost: 60000'
När Jubula är ansluten till någon av AUT-agenterna bör du kunna åberopa applikationen genom den. Nedanstående skärmdump visar hur man ansluter till AUT-agenter. Här ansluter jag till den inbäddade AUT-agenten.
Nedanstående skärmdump visar hur man ansluter till AUT-agenter. Här ansluter jag till den inbäddade AUT-agenten.
När AUT-agenten är ansluten till Jubula kan AUT (DemoAUTSimpleAdder) åberopas enligt nedan:
AUT kommer att åberopas enligt nedan. Applikationen kan hållas igång i bakgrunden. Men i detta skede föredrar jag att stänga applikationen för att vara bekväm med att utföra resten av stegen.
Steg # 3 - Skapa testfall, inkludera teststeg och kartdata
Detta är det avgörande steget där den faktiska utvecklingen av automatiseringsskript sker (utan kodning).
Det finns en testfallsläsare längst ner till vänster i verktyget där användartestfall kan utvecklas.
1) Högerklicka och flytta till Ny för att skapa ett nytt testfall.
två) Ange testfallets namn och klicka på 'OK' (t.ex. DemoTestCase).
3) Testfallsläsaren bör nu ha användaren skapat testfall tillsammans med Jubulas inbyggda testfall.
4) Dubbelklicka på det skapade testfallet. Det tomma testfallet öppnas i mittpanelen.
5) Dra och släpp lämpliga teståtgärder från 'Jubula's basåtgärder' i testfallet.
Som visas i nedanstående skärmdumpar:
- För att ange värde1 och värde2 använder du ”Komponent med textinmatning - ersätt text”.
- För att klicka på lika knapp använder du 'Klicka vänster singel'.
- För att kontrollera värdet, använd ”Komponent med textinmatning - kontrollera text”.
6) Nu för varje inkluderat teststeg anger du nedanstående (till exempel att klicka på en knapp behöver ingen data):
- Testfallets referensnamn (beskrivning av teststeg).
- Komponentnamn (logiskt namn till vilket den tekniska identifieraren kommer att mappas).
- Data - Data kan anges som direkt värde t.ex. 10, 20 eller parametreras med användning av variabler t.ex. = Värde1, = Värde2 eller matas genom ett excel-ark. I det här fallet parametrerar jag data).
till)
b)
c)
d)
7) Som nämnts i föregående steg, när datavärden parametreras, markera testfallet enligt nedan. Du bör kunna se ett rutnät där värdena för variabler kan definieras. Använd knappen Lägg till för att infoga en rad data. Du kan ha n antal rader med data för n antal utförande iterationer.
till)
b)
Steg # 4 - Skapa testsvit
En Jubulas testsvit är en körbar komponent under projektet där användardefinierade testfall sekvenseras för körning.
1) Högerklicka på projektet och flytta till Nytt för att skapa en ny testsvit.
två) Ange namnet på testsviten och klicka på OK (t.ex. DemoTestSuite).
3) Du bör kunna se den skapade testsviten under projektet.
Steg # 5 - Tilldela AUT till testsviten
När det bara finns en enda AUT definierad i Jubula, kommer AUT automatiskt att väljas för testsviten. Men när det finns flera AUT: er är det mycket viktigt att se till att testpaketet körs på rätt AUT.
1) Dubbelklicka på testsviten och markera densamma i mittpanelen.
två) Välj AUT från rullgardinsmenyn.
Steg # 6 - Kartlägg testfallet till testsviten
Dra och släpp testfallet till testpaketet. Flera testfall kan också sekvenseras under testpaketet.
När du sparar ska du kunna se testfallet under testpaketet enligt nedan:
Steg 7 - Kartlägga logiska testobjekt med tekniska objektidentifierare
1) Högerklicka på testsviten och öppna med objektmappningsredigeraren.
två) Alla logiska komponenter i testsviten för vilka tekniska namn ska mappas visas.
3) Anropa AUT.
4) Klicka på objektmappningsikonen för den specifika AUT.
5) Flytta markören över det fält som du måste identifiera det tekniska namnet för. Fältet markeras i grönt.
6) Tryck på Ctrl + Skift + Q för att få motsvarande fältets tekniska namn under avsnittet om icke tilldelade tekniska namn. Upprepa för alla fält i testsviten.
7) Kartlägg nu icke tilldelade komponentnamn med ett tekniskt namn som inte tilldelats genom att dra och släppa.
vad är betatestning i programvarutestning
8) Spara arbetsytan och avsluta från objektmappningsläget.
Steg # 8 - Kör testpaketet
Nu är testpaketet redo att köras. Se till att AUT anropas med Jubula.
Klicka på kör-knappen i webbläsaren testpaket.
implicit väntan och uttrycklig väntan i selen
(Du kan också aktivera programmet som det första steget. Men när du inte har det, se till att du aktiverar programmet efter att ha kört testpaketet).
Resultaten kan ses enligt nedan:
Poäng att notera
Medan du matar testpaketet med data via Excel anger du platsen för Excel-filen i exempelformatet:
C: //Data//Data.xls
I ovanstående demonstration parametreras data med hjälp av variablerna '= Value1', = 'Value2' och = 'Resultat'.
I sådana fall när värdena måste skickas genom en excel-fil, se till att filen har motsvarande kolumner med namn som exakt matchar variablerna och arknamnet som är inställt på det språk som valts vid tidpunkten för projektets skapande.
Extern AUT-agent (localhost: 60000) kan anslutas efter att agenten startats från 'Alla program' där du kan hitta alternativ för att starta och stoppa agenten.
Flera testsviter kan skapas under ett testjobb. Detta kan vara till hjälp när testningen involverar mer än en applikation (olika AUT kan tilldelas olika testsviter).
Detta förklarar grunderna att spela runt verktyget. Det är mycket viktigt att bekanta sig med Jubulas grundläggande åtgärder för att automatisera komplexa funktioner och hantera olika testobjekt.
Jubula kan också automatisera applikationer som utvecklats med olika tekniker, inte bara swing-applikationer.
Bygg ramverk i Jubula med Java-kod:
Med ovanstående grundläggande kunskap kan vi nu se hur man bygger ett anpassat ramverk i Jubula med hjälp av Java-kod.
Vissa kanske inte tycker att automatisering i Jubula-arbetsytan är flexibel och återanvändbar. Omfattande automatisering kanske inte är möjlig. Men för varje åtgärd vi har gjort med Jubula GUI finns det en motsvarande java-metod.
Här i det här avsnittet kommer vi att se grunderna för sådana java-metoder som alla komplicerade ramar kan byggas med.
Burkar
De burkar som krävs för metoderna finns i Jubulas installationsmapp:
C: Program Files jubula_8.2.0.021 utveckling api
ELLER
Låt oss först se hur man ansluter till AUT-agenten och hur man åberopar AUT genom att skapa AUT-identifierare med AUT-konfiguration
Vi behöver nedanstående variabler:
AUTAgent autagent = null; AUTConfiguration autconfiguration = null; AUTIdentifier autidentifier = null; AUT aut = null;
Ansluter till AUT-agent:
autagent = MakeR.createAUTAgent('localhost',60000); autagent.connect();
Startar AUT:
autconfiguration = new SwingAUTConfiguration('Autidentifier', 'Autidentifier','runlocal.bat', 'C:\Application',null,Locale.getDefault()); autidentifier = autagent.startAUT(autconfiguration); aut = autagent.getAUT(autidentifier, SwingComponents.getToolkitInformation()); aut.connect();
Var runlocal.bat är den körbara och C: \ Application är den plats där en körbar fil finns.
Vi kan också skapa konfigurationen för andra verktygssatser.
För t.ex. JavaFXAUTConfiguration, RCPAUTConfiguration, HTMLAUTConfiguration.
Teståtgärderna kan nu utföras med instansen 'Eller' . Men vi måste ha objektidentifierarna för att utföra teståtgärder.
Skapa Object Mapping Class
Högerklicka på objektmappningsredigeraren, välj ”Exportera objektmappning till fil” från 'Använd i API' och exportera objektmappningsuppgifterna till en Java-klass.
Inkludera denna klass i projektet. Jag har sparat det som OM.java där teknisk identifiering av varje objekt i objektmappningsredigeraren finns.
Utföra teståtgärder
Teståtgärder kan utföras i två steg:
Steg 1: Definiera komponenten på vilken teståtgärd måste utföras.
TextInputComponent input1 = SwingComponents.createJTextComponent(OM.txtValue1); TextInputComponent input2 = SwingComponents.createJTextComponent(OM.txtValue2); ButtonComponent equals = SwingComponents.createAbstractButton(OM.btnEquals); TextComponent result = SwingComponents.createJLabel(OM.txtResult);
Steg 2 : Utför åtgärden.
aut.execute(input1.replaceText(“10”), 'jubula'); aut.execute(input2.replaceText(“15”), 'jubula'); aut.execute(equals.click(1,InteractionMode.primary), 'jubula'); aut.execute(result.checkText(“25',Operator.equals), 'jubula');
Där “Jubula” bara är en dummytext som helst bör innehålla beskrivningen av åtgärden.
”Execute” -utdraget bär CAP (C - Component, A-Action, P-Parameter (Data)).
Åtgärd och parameter motsvarar samma testfall i Jubula-arbetsytan.
Arbeta med flera AUT
Att arbeta med flera applikationer och byta mellan dem är lite knepigt när du utvecklar ditt eget ramverk med Jubula java-metoder.
När du hanterar flera applikationer, se till att AUT är aktiverat innan du utför åtgärder och detsamma inaktiveras när du är klar.
Under aktivering:
- Anslut autagent.
- Eller anslut.
När du inaktiverar:
- Anslut antingen.
- Koppla bort autagent.
t.ex
Activate(autidentifier1); //perform actions on aut1 Currentaut.execute(…) Currentaut.execute(…) Deactivate(autidentifier1); Activate(autidentifier2); //perform actions on aut2 Currentaut.execute(…) Currentaut.execute(…) Deactivate(autidentifier2); Activate(autidentifier1); //perform actions on aut1 Currentaut.execute(…) Currentaut.execute(…) Deactivate(autidentifier1);
Aktivera och avaktivera funktioner bör vara ungefär så här:
public static void Activate(AUTIdentifier autidentifier){ if(autagent.isConnected()) { autagent.disconnect(); autagent.connect(); } else autagent.connect(); if(Currentaut==null){ Currentaut = autagent.getAUT(autidentifier, SwingComponents.getToolkitInformation()); Currentaut.connect(); } else{ if(Currentaut.isConnected()){ Currentaut.disconnect(); Currentaut = autagent.getAUT(autidentifier, SwingComponents.getToolkitInformation()); Currentaut.connect(); } else{ Currentaut = autagent.getAUT(autidentifier, SwingComponents.getToolkitInformation()); Currentaut.connect(); } } } public static void DeActivate(AUTIdentifier autidentifier){ if(Currentaut.isConnected()) Currentaut.disconnect(); if(autagent.isConnected()) autagent.disconnect(); }
Slutsats
I slutet av denna artikel måste man ha skaffat sig god kunskap om att använda det befintliga ramverket för Jubula och utveckla ett anpassat ramverk med Jubulas java-metoder.
Här har vi studerat automatisering av Java-svingkomponenter. Jubula kan dock arbeta med flera tekniker.
Att automatisera flera applikationer (av samma och av olika tekniker) samtidigt är det mest utmanande området. Stegen som beskrivs i Arbeta med flera AUT: er bör verkligen hjälpa.
När du funderar på att bygga ett anpassat ramverk med Jubula, måste du undra hur man definierar olika testkomponenter (t.ex. knapp, textinmatning, text, träd, tabell, etc), vad är alla olika åtgärder som kan utföras på dessa komponenter och vad data krävs för varje åtgärd.
För att veta hur man definierar olika komponenter och hur man utför olika teståtgärder med kommandot 'execute', se 'Jubula Reference Manual' här .
Ge det ett försök!
Om författaren: Detta är en gästhandledning av Geethalakshmi. Hon arbetar som huvudtekniker i en ledande programvarutestningsorganisation med ett stort intresse för att utforska funktionella automatiseringsverktyg.
Skicka gärna dina kommentarer / frågor om Jubula-verktyget.
Rekommenderad läsning
- Handledning för testning av WAVE-tillgänglighetsverktyg
- Funktionell testning mot icke-funktionell testning
- Parrot QA Tutorial: Cross Browser Functional Testing Tool Review
- Bästa verktyg för testning av programvara 2021 (QA Test Automation Tools)
- Skillnaderna mellan enhetstestning, integrationstestning och funktionstestning
- Funktionell testning mot prestandatestning: Bör det göras samtidigt?
- Steg för steg guide för att implementera POC (Proof of Concept) i Automation Testing
- En steg-för-steg-guide för att få ditt första betalda Crowdsourced-testprojekt