introduction sikuli gui automation tool sikuli tutorial 1
Som altid prøver vi at bringe nye ting at lære for vores læsere. Lad os i dag undersøge et interessant GUI-automatiseringsværktøj - Sikuli.
“Automatiser alt hvad du ser” ved hjælp af Sikuli Graphic User Interface (GUI) automatiseringsværktøj - Komplet guide til begyndere til hurtigt opsat og start med at bruge Sikuli Script-værktøjet med disse dybdegående Sikuli-vejledninger.
Sikuli Automatiserer alt, hvad du ser på skærmen ved hjælp af billedgenkendelsesmetoden til at identificere GUI-elementer. Sikuli-script giver brugerne mulighed for at automatisere GUI-interaktion ved hjælp af skærmbilleder.
Liste over vejledninger i denne Sikuli-serie
Vi har delt denne serie i 3 dele:
Tutorial # 1: Sådan fungerer det, hvordan man opretter et simpelt Sikuli-projekt.
Tutorial # 2: Hvordan Sikuli kan bruges med Selen Web Driver til at automatisere websider.
Tutorial # 3: Automatisering af flashbaserede applikationer ved hjælp af Sikuli Tool
Hvad du vil lære:
Sikuli GUI-automatiseringsværktøj
Lad os starte med den første del af denne serie.
Sikuli er et værktøj til at automatisere grafiske brugergrænseflader (GUI) ved hjælp af 'Visual Image Match' -metoden. I Sikuli skal alle webelementer tages som et billede og opbevares inde i projektet. Sikuli vil udløse GUI-interaktioner baseret på billedets visuelle match, det billede, som vi har sendt som parameter sammen med alle metoder.
Sikuli kan være meget nyttigt at automatisere flash-objekter (som ikke har ID eller navn). Det kan være nyttigt i den situation, hvor vi har en stabil GUI (dvs. GUI-komponenter ændres ikke).
Selv vinduesbaserede applikationer kan også automatiseres ved hjælp af Sikuli. Sikuli leverer meget venligt Sikuli-script.jar, som let kan bruges sammen med Selenium WebDriver. Vi kan endda automatisere Adobe Video / Audio-afspiller, Flash-spil på hjemmesiden ved hjælp af Sikuli. Med enkel API gør det kodning lettere.
Praktiske anvendelser
- Sikuli kan bruges til at automatisere Flash-objekter / Flash-websteder.
- Det kan være nyttigt at automatisere den Windows-baserede applikation. Vi kan automatisere, hvad vi ser på skærmen.
- Det giver en simpel API. dvs. alle metoder kan tilgås ved hjælp af skærmklasseobjekter.
- Det kan let integreres med Selenium og alle andre værktøjer.
- Ved hjælp af Sikuli kan vi automatisere desktop-applikationer.
- De fleste af automatiseringsprøvningsværktøjerne understøtter ikke automatisering af flash-objekt (f.eks. Selen). Sikuli yder omfattende support til automatisering af flashobjekter.
- Det bruger en kraftfuld 'Visual Match' -mekanisme til at automatisere desktop- og flash-objekter.
Fordele
- Open source-værktøj.
- En af de største fordele ved Sikuli er, at det nemt kan automatisere Flash-objekter.
- Det gør det let at automatisere Windows-applikationen.
- Når du tester en applikation under udvikling, og du ikke kender elementets ID / navn, kan du gå med Sikuli. Det kontrollerer billedets udseende, og hvis matchet blev fundet, interagerer det med billedet i overensstemmelse hermed.
Forudsætninger:
Inden vi kommer i gang, skal vi downloade og installere følgende software:
- Ethvert skærmbillede til optagelsesværktøj ( For eksempel, DuckCapture , eller qSnap )
- JDK
- Formørkelse (detaljerede trin her at installere JDK og Eclipse)
Trin til at oprette Sikuli Java-projektet
Trin # 1: Sikuli Download - Download Sikuli fra her .
Trin # 2: Uddrag zip-filen, som du har downloadet. Den indeholder Sikuli-script.jar-filen. Gem denne udpakkede fil i dit lokale filsystem.
Trin # 3: Åbn formørkelse.
Trin # 4: Opret et java-projekt File -> New -> Java Project
Trin # 5:
- Højreklik på projektet
- Gå til Build Path-> Configure Build Path
- Skift til fanen Biblioteker
- Klik på knappen 'Tilføj eksterne krukker' og tilføj Sikuli-Script.jar i Build-stien.
- Klik på 'Ok'
Sikuli-script.jar føjes til din projektbygningssti. Du er færdig. Nu kan du begynde at skrive Sikuli-scripts inde i dette projekt.
Nogle Sikuli-metoder
# 1) Oprettelse af objekt til skærmklasse
Skærmen er en basisklasse leveret af Sikuli. Vi skal først oprette et objekt til denne skærmklasse, så kun kan vi få adgang til alle de metoder, der leveres af Sikuli.
Syntaks:
Skærm s = ny skærm ();
# 2) Klik på et element
Denne metode bruges til at klikke på det specifikke billede, der findes på skærmen.
Syntaks:
s.click (“<>”);
eksempler på internet af ting enheder
For eksempel,
s.click (“test.png”);
# 3) Højreklik på et element
Denne metode bruges til at højreklikke på det specifikke billede, der findes på skærmen.
Syntaks:
s.rightClick (“<>”);
For eksempel,
s.rightClick (“test.png”);
# 4) Find et element
Denne metode bruges til at finde et bestemt element til stede på skærmen.
Syntaks:
s.find (“<>”);
For eksempel,
s.find (“test.png”);
# 5) Dobbeltklik på et element
Denne metode bruges til at udløse en dobbeltklikhændelse på et bestemt billede, der findes på skærmen.
Syntaks:
s.doubleClick (“<>”);
For eksempel,
s.doubleClick (“test.png”);
# 6) Kontroller, om et element findes på skærmen
Denne metode bruges til at kontrollere, om det angivne element findes på skærmen.
Syntaks:
s.exists (“<>”);
For eksempel,
s.exists (“test.png”);
# 7) Skriv en streng i en tekstboks
Denne metode bruges til at indtaste den angivne tekst i tekstboksen.
Syntaks:
s.type (“<>”,” String, der skal indtastes ”);
For eksempel,
s.type (“test.png”, “HI !!”);
# 8) Wheeling på et bestemt billede
Denne metode bruges til at udføre hjulhandling på elementbilledet.
Syntaks:
s.wheel (“<>”,<>,<>);
For eksempel,
s.hjul (“test.png”, 25,0);
binært søgetræ java-kodeeksempel
# 9) Træk og slip et billede / element
Denne metode bruges til at trække og slippe et bestemt billede fra kildeposition til målposition.
Syntaks:
s.dragDrop (“<>','<>”);
For eksempel,
s.dragDrop ('test.png', 'test1.png');
# 10) Rul svæver over et bestemt billede
Denne metode bruges til at udføre roll hover-begivenhed på det angivne billede.
Syntaks:
s.hover (“<>”);
For eksempel,
s.hover (“test.png”);
# 11) Indsæt kopieret streng
Denne metode bruges til at indsætte tekst i den angivne tekstboks.
Syntaks:
s.paste (“<>','prøve');
For eksempel,
s.paste ('test.png', 'test');
Sikuli eksempler
# 1) YouTube-video - pause og afspil en video
Trin 1) Åbn et YouTube-videolink, og tag afspil, og sæt elementbilleder på pause ved hjælp af skærmoptagelsesværktøjet.
Pause-knap ( Bemærk: filnavn er pause.png)
Afspil-knap ( Bemærk: filnavn er play.png)
Kopier disse billeder inde i projektet.
Trin 2) Opret en pakke inde i det oprettede Sikuli java-projekt, og inden i det opretter du en klasse med navnet “Youtube”.
Trin # 3) Indtast følgende kode inden for den klasse.
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 } }
Trin # 4) Højreklik på klassen, vælg Kør som -> Java-applikation.
# 2) Åbn notesblok, og skriv noget tekst
Trin # 1) Tag notepad-ikonet på skrivebordet på skærmen.
notepad_icon.png
notepad.png
Trin # to) Kopier disse billeder inde i dit projekt.
Trin # 3) Opret en klasse med navnet 'NotepadExample' inde i dit projekt, og skriv følgende kode.
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!!!!'); } }
Trin # 4) Åbn skærmen, der skal testes, før du udfører koden.
Udfør denne fil ved at højreklikke på Kør som -> Java-applikation.
# 3) Træk og slip
Trin 1) Tag skærmbilledet af de krævede emner på skærmen, og læg det inde i dit Sikuli-projekt.
[ Bemærk: her er downloadsikonet 'source.png' og blomsterbillede er 'destination.png']
Trin # to) Sæt disse billeder inde i dit projekt.
Trin # 3) Opret en klasse med navnet 'DragAndDrop' og skriv følgende kode.
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'); } }
Trin # 4) Udfør dette script ved at højreklikke på Kør som -> Java-applikation.
Efter udførelsen af dette script trækkes og slippes downloadikonet på billedet, angivet som et mål.
Før henrettelse:
Efter henrettelse:
Ulemper ved dette værktøj
- Vi kan ikke forsikre dig om, at billedmatchet altid vil være nøjagtigt. Nogle gange, hvis to eller flere lignende billeder er tilgængelige på skærmen, vil Sikuli forsøge at vælge det forkerte billede.
- Og hvis billedets udseende varierer i pixelstørrelse, vil det også resultere i undtagelsen 'Find mislykkedes'.
- Overhead for at tage for mange skærmbilleder.
- Hvis nogen af skærmbilledet mangler, vil det påvirke udførelsen af programmet.
Flere ressourcer:
Konklusion
Sikuli er meget nyttigt til automatisering af flashobjekter. Det kan bruges til at automatisere vinduesbaserede applikationer. Det er et fantastisk værktøj til at lege med elementer på en skærm, baseret på deres visuals.
Om forfatteren: Dette er et gæstepost af Anitha Eswari. Hun arbejder i øjeblikket som senior testingeniør med god viden om manuel og automatiseringstest og forskellige teststyringsværktøjer.
Næste vejledning : I den næste del af denne serie skal vi se dybt på at skabe Sikuli maven-projektet og hvordan man integrerer Selen med Sikuli.
Bruger du allerede dette værktøj? Del din oplevelse og tip. Hvis du vil komme i gang, men har spørgsmål, så lad os det vide.
Anbefalet læsning
- Sikuli GUI Automation Testing Tool - Begyndervejledning del # 2
- 30 bedste GUI-testværktøjer til GUI-testautomatisering [2021 LIST]
- SeeTest Automation Tutorial: En mobil testautomatiseringsværktøjsvejledning
- Læringsgrundlag for rationel robot - IBM Test Automation Tool
- Geb Tutorial - Browserautomatiseringstest ved hjælp af Geb Tool
- Nyttigt gratis skærmoptagelses- og kommentatorværktøj til testerne - qSnap Review
- Katalon Studio Tutorial: Et gratis testautomatiseringsværktøj, du har ventet på
- Automatisering af flashbaserede applikationer ved hjælp af Sikuli Tool