introduction sikuli gui automation tool sikuli tutorial 1
Som alltid försöker vi ta in nya saker att lära oss för våra läsare. Idag ska vi utforska ett intressant automatiseringsverktyg för GUI - Sikuli.
”Automatisera allt du ser” med Sikuli Graphic User Interface (GUI) automatiseringsverktyg - Komplett nybörjarguide för snabbt ställa in och börja använda Sikuli Script-verktyget med dessa djupgående Sikuli-handledning.
Sikuli Automatiserar allt du ser på skärmen med hjälp av bildigenkänningsmetoden för att identifiera GUI-element. Sikuli-skript tillåter användare att automatisera GUI-interaktion genom att använda skärmdumpar.
Lista över handledning i denna Sikuli-serie
Vi har delat upp denna serie i 3 delar:
Handledning nr 1: Hur det fungerar, hur man skapar ett enkelt Sikuli-projekt.
Handledning nr 2: Hur Sikuli kan användas med Selen Web Driver för att automatisera webbsidor.
Självstudie 3: Automatisera Flash-baserade applikationer med hjälp av Sikuli Tool
Vad du kommer att lära dig:
Sikuli GUI Automation Tool
Låt oss börja med den första delen av denna serie.
Sikuli är ett verktyg för att automatisera grafiska användargränssnitt (GUI) med 'Visual Image Match' -metoden. I Sikuli ska alla webbelement tas som en bild och lagras i projektet. Sikuli kommer att utlösa GUI-interaktioner baserat på bildens visuella matchning, bilden som vi har skickat som parameter tillsammans med alla metoder.
Sikuli kan vara mycket användbart för att automatisera blixtobjekt (som inte har ID eller namn). Det kan vara användbart i situationen där vi har en stabil GUI (dvs. GUI-komponenter som inte ändras).
Även fönsterbaserade applikationer kan också automatiseras med Sikuli. Sikuli tillhandahåller mycket vänlig Sikuli-script.jar, som lätt kan användas tillsammans med Selen WebDriver. Vi kan även automatisera Adobe Video / Audio-spelare, Flash-spel på webbplatsen med hjälp av Sikuli. Med enkelt API gör det kodningen enklare.
Praktiska användningsområden
- Sikuli kan användas för att automatisera Flash-objekt / Flash-webbplatser.
- Det kan vara användbart att automatisera den fönsterbaserade applikationen. Vi kan automatisera vad vi ser på skärmen.
- Det ger ett enkelt API. dvs. alla metoder kan nås med skärmklassobjekt.
- Den kan enkelt integreras med Selenium och alla andra verktyg.
- Med Sikuli kan vi automatisera skrivbordsapplikationer.
- De flesta av testverktygen för automatisering stöder inte automatisering av flash-objekt (t.ex. Selen). Sikuli erbjuder omfattande stöd för att automatisera blixtobjekt.
- Den använder en kraftfull 'Visual Match' -mekanism för att automatisera skrivbords- och blixtobjekt.
Fördelar
- Open source-verktyg.
- En av de största fördelarna med Sikuli är att den enkelt kan automatisera Flash-objekt.
- Det gör det enkelt att automatisera Windows-applikationen.
- När du testar en applikation under utveckling och du inte vet elementets ID / namn kan du gå med Sikuli. Det kommer att kontrollera utseendet på bilden och om matchningen hittas kommer den att interagera med bilden i enlighet därmed.
Förutsättningar:
Innan vi börjar måste vi ladda ner och installera följande programvara:
- Alla verktyg för att fånga skärmdumpar ( Till exempel, DuckCapture , eller qSnap )
- JDK
- Förmörkelse (detaljerade steg här för att installera JDK och Eclipse)
Steg för att skapa Sikuli Java-projektet
Steg 1: Sikuli Ladda ner - Ladda ner Sikuli från här .
Steg 2: Extrahera zip-filen som du har laddat ner. Den innehåller filen Sikuli-script.jar. Spara den extraherade filen i ditt lokala filsystem.
Steg 3: Öppna Eclipse.
Steg 4: Skapa ett java-projekt File -> New -> Java Project
Steg 5:
- Högerklicka på projektet
- Gå till Build Path-> Configure Build Path
- Byt till fliken Bibliotek
- Klicka på knappen 'Lägg till externa burkar' och lägg till Sikuli-Script.jar i byggvägen.
- Klicka på “Ok”
qa chef intervju frågor svar pdf
Sikuli-script.jar läggs till i din projektbyggnad. Du är klar. Nu kan du börja skriva Sikuli-skript inuti detta projekt.
Några Sikuli-metoder
# 1) Skapa objekt för skärmklass
Skärmen är en basklass från Sikuli. Vi måste skapa ett objekt för den här skärmklassen först, bara då kan vi komma åt alla metoder som tillhandahålls av Sikuli.
Syntax:
Skärm s = ny skärm ();
# 2) Klicka på ett element
Denna metod används för att klicka på den specifika bilden som finns på skärmen.
Syntax:
s.click (“<>”);
Till exempel,
s.click (“test.png”);
# 3) Högerklicka på ett element
Denna metod används för att högerklicka på den specifika bilden som finns på skärmen.
Syntax:
s.rightClick (“<>”);
Till exempel,
s.rightClick (“test.png”);
# 4) Hitta ett element
Denna metod används för att hitta ett specifikt element som finns på skärmen.
Syntax:
s.find (“<>”);
Till exempel,
s.find (“test.png”);
# 5) Dubbelklicka på ett element
Denna metod används för att utlösa en dubbelklickningshändelse på en viss bild som finns på skärmen.
Syntax:
s.doubleClick (“<>”);
Till exempel,
s.doubleClick (“test.png”);
# 6) Kontrollera om ett element finns på skärmen
Denna metod används för att kontrollera om det angivna elementet finns på skärmen.
Syntax:
s existerar (“<>”);
Till exempel,
s.exists (“test.png”);
# 7) Skriv en sträng i en textruta
Denna metod används för att ange den angivna texten i textrutan.
Syntax:
s.type (“<>”,” Sträng som ska skrivas ”);
Till exempel,
s.type (“test.png”, “HI !!”);
# 8) Wheeling på en viss bild
Denna metod används för att utföra hjulåtgärder på elementbilden.
Syntax:
s.wheel (“<>”,<>,<>);
Till exempel,
s.wheel (“test.png”, 25,0);
# 9) Dra och släpp en bild / ett element
Denna metod används för att dra och släppa en viss bild från källposition till målposition.
Syntax:
s.dragDrop (“<>','<>”);
Till exempel,
s.dragDrop (“test.png”, ”test1.png”);
# 10) Rulla muspekaren över en viss bild
Den här metoden används för att utföra händelse av svävar på den angivna bilden.
Syntax:
s.hover (“<>”);
Till exempel,
s.hover (“test.png”);
# 11) Klistra in kopierad sträng
Denna metod används för att klistra in text i den angivna textrutan.
Syntax:
s.paste (“<>','testa');
Till exempel,
s.paste ('test.png', 'test');
Sikuli Exempel
# 1) YouTube-video - Pausa och spela upp en video
Steg 1) Öppna en YouTube-videolänk och fånga upp och pausa elementbilder med hjälp av skärmbildverktyget.
Paus-knapp ( Notera: filnamn är pause.png)
Spela upp-knappen ( Notera: filnamn är play.png)
Kopiera dessa bilder inuti projektet.
Steg 2) Skapa ett paket inuti Sikuli java-projekt som skapats och inom det skapa en klass med namnet “Youtube”.
Steg 3) Skriv följande kod i den klassen.
package com.test; import org.sikuli.script.FindFailed; import org.sikuli.script.Screen; public class Youtube { public static void main(String() args) throws FindFailed, InterruptedException { // TODO Auto-generated method stub Screen s=new Screen(); s.find('pause.png'); //identify pause button s.click('pause.png'); //click pause button System.out.println('pause button clicked'); s.find('play.png'); //identify play button s.click('play.png'); //click play button } }
Steg # 4) Högerklicka på klassen och välj Kör som -> Java-applikation.
# 2) Öppna anteckningsblocket och skriv in lite text
Steg # 1) Fånga anteckningsikonen på skrivbordet på skärmen.
notepad_icon.png
notepad.png
Steg # två) Kopiera dessa bilder inuti ditt projekt.
Steg 3) Skapa en klass med namnet 'NotepadExample' inuti ditt projekt och skriv följande kod.
package com.test; import org.sikuli.script.FindFailed; import org.sikuli.script.Screen; public class NotepadExample { public static void main(String() args) throws FindFailed { // TODO Auto-generated method stub Screen s=new Screen(); s.click('notepad_icon.png'); s.find('notepad.png'); s.type('notepad.png','This is Nice Sikuli Tutorial!!!!'); } }
Steg 4) Öppna skärmen som ska testas innan du kör koden.
Kör den här filen genom att högerklicka på Kör som -> Java-applikation.
# 3) Dra och släpp
Steg 1) Ta skärmdumpen av de nödvändiga objekten på skärmen och lägg den i ditt Sikuli-projekt.
( Notera: här är nedladdningsikonen 'source.png' och blommabilden är 'destination.png')
Steg # två) Lägg in dessa bilder i ditt projekt.
Steg # 3) Skapa en klass med namnet 'DragAndDrop' och skriv följande kod.
package com.test; import org.sikuli.script.FindFailed; import org.sikuli.script.Screen; public class DragAndDrop { public static void main(String() args) throws FindFailed, InterruptedException { // TODO Auto-generated method stub Screen s=new Screen(); s.find('source.png'); System.out.println('Source image found'); s.find('target.png'); System.out.println('target image found'); s.dragDrop('source.png', 'target.png'); } }
Steg # 4) Kör detta skript genom att högerklicka på Kör som -> Java-applikation.
Efter körningen av detta skript dras nedladdningsikonen och släpps på bilden, indikerad som ett mål.
grundläggande java-program frågade i pdf-intervjuer
Före utförande:
Efter utförande:
Nackdelar med detta verktyg
- Vi kan inte försäkra dig om att bildmatchningen alltid kommer att vara korrekt. Ibland, om två eller flera liknande bilder är tillgängliga på skärmen, försöker Sikuli välja fel bild.
- Och om bildens utseende varierar i pixelstorlek, kommer det också att resultera i undantaget 'Hitta misslyckades'.
- Overhead för att ta för många skärmdumpar.
- Om någon av skärmdumpen saknas kommer det att påverka genomförandet av programmet.
Fler resurser:
Slutsats
Sikuli är mycket användbart för att automatisera blixtobjekt. Den kan användas för att automatisera fönsterbaserade applikationer. Det är ett utmärkt verktyg för att leka med element på en skärm, baserat på deras grafik.
Om författaren: Detta är ett gästinlägg av Anitha Eswari. Hon arbetar för närvarande som senior testingenjör med god kunskap om manuell och automatiseringstestning och olika testhanteringsverktyg.
Nästa handledning : I nästa del av denna serie ska vi titta djupt på att skapa Sikuli maven-projektet och hur man integrerar Selen med Sikuli.
Använder du redan det här verktyget? Vänligen dela med dig av dina erfarenheter och tips. Om du vill komma igång men har frågor, låt oss veta.
Rekommenderad läsning
- Sikuli GUI Automation Testing Tool - Beginner's Guide Part # 2
- 30 bästa GUI-testverktyg för GUI-testautomation (2021 LIST)
- SeeTest Automation Tutorial: A Mobile Test Automation Tool Guide
- Learning Basics of Rational Robot - IBM Test Automation Tool
- Geb Tutorial - Browser Automation Testing med hjälp av Geb Tool
- Användbart gratis skärmdump- och kommentarverktyg för testarna - qSnap Review
- Katalon Studio-handledning: Ett gratis testautomatiseringsverktyg du har väntat på
- Automatisera Flash-baserade applikationer med hjälp av Sikuli Tool