introduction sikuli gui automation tool sikuli tutorial 1
Kot vedno poskušamo prinesti nove stvari, ki se jih lahko naučimo za naše bralce. Danes raziščimo zanimivo orodje za avtomatizacijo GUI - Sikuli.
»Avtomatizirajte vse, kar vidite« z orodjem za avtomatizacijo grafičnega uporabniškega vmesnika Sikuli - popoln vodnik za začetnike hitro nastavite in začnite uporabljati orodje Sikuli Script s temi poglobljenimi vajami Sikuli.
Sikuli avtomatizira vse, kar vidite na zaslonu, z uporabo metode prepoznavanja slik za prepoznavanje elementov GUI. Skript Sikuli uporabnikom omogoča avtomatizacijo interakcije z GUI s pomočjo posnetkov zaslona.
Seznam vadnic v tej seriji Sikuli
To serijo smo razdelili na 3 dele:
Vadnica št. 1: Kako deluje, kako ustvariti preprost projekt Sikuli.
Vadnica # 2: Kako lahko Sikuli uporabljamo s spletnim gonilnikom selena za avtomatizacijo spletnih strani.
Vadnica št. 3: Avtomatizacija aplikacij na osnovi Flash z uporabo orodja Sikuli
Kaj se boste naučili:
Sikuli GUI Automation Tool
Začnimo s 1. delom te serije.
Sikuli je orodje za avtomatizacijo grafičnega uporabniškega vmesnika (GUI) z uporabo metode 'Visual Image Match'. V Sikuliju je treba vse spletne elemente posneti kot sliko in shraniti v projektu. Sikuli bo sprožil interakcije z grafičnim uporabniškim vmesnikom na podlagi vizualnega ujemanja slike, slike, ki smo jo podali kot parameter skupaj z vsemi metodami.
Sikuli je lahko zelo koristen za avtomatizacijo bliskavic (ki nimajo ID-ja ali imena). Lahko je koristno v razmerah, ko imamo stabilen GUI (tj. Komponente GUI se ne spreminjajo).
Tudi aplikacije, ki temeljijo na oknu, je mogoče avtomatizirati tudi s pomočjo Sikulija. Sikuli ponuja zelo prijazen Sikuli-script.jar, ki ga je mogoče enostavno uporabiti skupaj s Selenium WebDriver. Na spletnem mestu lahko celo avtomatiziramo Adobe Video / Audio predvajalnik Flash Games na spletnem mestu Sikuli. S preprostim API-jem je kodiranje lažje.
Praktična uporaba
- Sikuli se lahko uporablja za avtomatizacijo Flash predmetov / spletnih strani Flash.
- Koristno je avtomatizirati aplikacijo, ki temelji na oknu. To, kar vidimo na zaslonu, lahko avtomatiziramo.
- Ponuja preprost API. tj. do vseh metod je mogoče dostopati z uporabo predmetov razreda zaslona.
- Zlahka ga je mogoče integrirati s selenom in vsemi drugimi orodji.
- S Sikuli lahko avtomatiziramo namizne aplikacije.
- Večina orodij za avtomatizacijo ne podpira avtomatizacije bliskavic (npr. Selen). Sikuli nudi obsežno podporo za avtomatizacijo bliskavic.
- Uporablja zmogljiv mehanizem »Visual Match« za avtomatizacijo namiznih in bliskovnih predmetov.
Prednosti
- Odprtokodno orodje.
- Ena največjih prednosti Sikulija je ta, da lahko enostavno avtomatizira Flash predmete.
- Omogoča enostavno avtomatizacijo aplikacije Windows.
- Ko preizkušate aplikacijo v razvoju in ne poznate ID-ja / imena elementov, lahko nadaljujete s Sikulijem. Preveril bo videz slike in če bo ujemanje ujeto, bo ustrezno vplivalo na sliko.
Pogoji:
Preden začnemo, moramo prenesti in namestiti naslednjo programsko opremo:
- Vsako orodje za zajem zaslona ( Na primer, DuckCapture , ali qSnap )
- JDK
- Eclipse (podrobni koraki tukaj namestiti JDK in Eclipse)
Koraki za ustvarjanje projekta Sikuli Java
1. korak: Sikuli prenos - Prenesite Sikuli iz tukaj .
2. korak: Izvlecite zip datoteko, ki ste jo prenesli. Vsebovala bo datoteko Sikuli-script.jar. Shranite to izvlečeno datoteko v lokalni datotečni sistem.
3. korak: Odprite Eclipse.
4. korak: Ustvarite datoteko java projekta -> Novo -> Java projekt
5. korak:
- Z desno miškino tipko kliknite projekt
- Pojdite na Build Path-> Configure Build Path
- Preklopite na zavihek Knjižnice
- Kliknite gumb »Dodaj zunanje kozarce« in na poti gradnje dodajte Sikuli-Script.jar.
- Kliknite »V redu«

Sikuli-script.jar bo dodan na pot gradnje vašega projekta. Končal si. Zdaj lahko v tem projektu začnete pisati skripte Sikuli.
Nekaj Sikulijevih metod
# 1) Ustvarjanje predmeta za razred zaslona
Zaslon je osnovni razred, ki ga ponuja Sikuli. Najprej moramo ustvariti objekt za ta razred zaslona, nato pa lahko le dostopamo do vseh metod, ki jih ponuja Sikuli.
Sintaksa:
Zaslon s = nov zaslon ();
# 2) Kliknite element
S to metodo smo kliknili določeno sliko, ki je prisotna na zaslonu.
Sintaksa:
s.click (“<>');
Na primer,
s.click (“test.png”);
# 3) Z desno miškino tipko kliknite element
S to metodo smo z desno miškino tipko kliknili določeno sliko na zaslonu.
ustvarjanje binarnega drevesa iskanja v javi
Sintaksa:
s.rightClick (“<>');
Na primer,
s.rightClick (“test.png”);
# 4) Poiščite element
kako preizkusiti združljivost med brskalniki
Ta metoda je bila uporabljena za iskanje določenega elementa, ki je prisoten na zaslonu.
Sintaksa:
s.find (“<>');
Na primer,
s.find (“test.png”);
# 5) Dvokliknite element
Ta metoda je bila uporabljena za sprožitev dogodka dvojnega klika na določeni sliki, ki je na zaslonu.
Sintaksa:
s.doubleClick (“<>');
Na primer,
s.doubleClick (“test.png”);
# 6) Preverite, ali je element prisoten na zaslonu
Ta metoda se uporablja za preverjanje, ali je navedeni element prisoten na zaslonu.
Sintaksa:
s.obstoji (“<>');
Na primer,
s.obstoji ('test.png');
# 7) Vnesite niz v polje z besedilom
Ta metoda se uporablja za vnos določenega besedila v polje Besedilo.
Sintaksa:
s.tip ('<>',' Niz, ki ga je treba vnesti ');
Na primer,
s.tip ('test.png', 'HI !!');
# 8) Kolesarjenje na določeni sliki
Ta metoda se uporablja za izvedbo premikanja na sliki elementa.
Sintaksa:
s.kolo („<>”,<>,<>);
Na primer,
s.wheel ('test.png', 25,0);
# 9) Povlecite in spustite sliko / element
Ta metoda se uporablja za povlečenje in spuščanje določene slike iz izvornega položaja v ciljni položaj.
Sintaksa:
s.dragDrop (“<>','<>');
Na primer,
s.dragDrop ('test.png', 'test1.png');
# 10) Premaknite miškin kazalec na določeno sliko
Ta metoda se uporablja za izvedbo dogodka lebdenja na določeni sliki.
Sintaksa:
s.hover (“<>');
Na primer,
s.hover ('test.png');
# 11) Prilepi kopirani niz
Ta metoda je bila uporabljena za lepljenje besedila v določeno polje z besedilom.
Sintaksa:
s.paste (“<>”,” Test ”);
Na primer,
s.paste ('test.png', 'test');
Primeri Sikuli
# 1) YouTube Video - zaustavite in predvajajte video
Korak 1) Odprite povezavo do videoposnetka YouTube in z orodjem za zajem zaslona zajemite predvajanje in zaustavitev slik elementov.
Gumb za zaustavitev ( Opomba: ime datoteke je pause.png)

Gumb za predvajanje ( Opomba: ime datoteke je play.png)

Kopirajte te slike v projekt.
2. korak) Ustvarite paket znotraj ustvarjenega projekta Sikuli java in znotraj njega ustvarite razred z imenom 'Youtube'.
3. korak) V ta razred vnesite naslednjo kodo.
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 } } Korak # 4) Z desno miškino tipko kliknite razred in izberite Zaženi kot -> Aplikacija Java.
odpravljanje težav z intervjuji in odgovori pdf
# 2) Odprite beležnico in vnesite nekaj besedila
Korak # 1) Zajemite ikono beležnice na namizju na zaslonu.
notepad_icon.png

notepad.png
Korak # dva) Kopirajte te slike v svoj projekt.
3. korak) Ustvarite razred z imenom »NotepadExample« v projektu in vnesite naslednjo kodo.
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!!!!'); } } 4. korak) Pred izvajanjem kode odprite zaslon, ki ga želite preizkusiti.
Zaženite to datoteko tako, da z desno miškino tipko kliknete Zaženi kot -> Aplikacija Java.
# 3) Povlecite in spustite
Korak 1) Naredite posnetek zaslona zahtevanih elementov na zaslonu in ga vstavite v svoj projekt Sikuli.

( Opomba: tukaj je ikona za prenose 'source.png', slika rože pa 'destination.png')
Korak # dva) Vstavite te slike v svoj projekt.
Korak # 3) Ustvarite razred z imenom 'DragAndDrop' in napišite naslednjo kodo.
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'); } } Korak # 4) Zaženite ta skript tako, da z desno miškino tipko kliknete Zaženi kot -> Aplikacija Java.
Po izvedbi tega skripta se ikona za prenos povleče in spusti na sliko, označeno kot cilj.
Pred izvedbo:

Po izvedbi:

Pomanjkljivosti tega orodja
- Ne moremo vam zagotoviti, da bo ujemanje slike vedno natančno. Če sta na zaslonu na voljo dve ali več podobnih slik, bo Sikuli poskusil izbrati napačno sliko.
- In če se videz slike razlikuje glede na velikost slikovnih pik, bo to povzročilo tudi izjemo »Najdi neuspešno«.
- Stroški posnetka preveč posnetkov zaslona.
- Če kdo na posnetku zaslona manjka, bo to vplivalo na izvajanje programa.
Več virov:
Zaključek
Sikuli je zelo koristen pri avtomatizaciji bliskavic. Uporablja se lahko za avtomatizacijo okenskih aplikacij. To je odlično orodje za igranje elementov na zaslonu glede na njihov vizualni videz.
O avtorju: To je gostja Anithe Eswari. Trenutno dela kot višja inženirka preizkusov in dobro pozna ročno in avtomatizirano testiranje ter različna orodja za upravljanje testov.
Naslednja vadnica : V naslednjem delu te serije si poglobljeno poglejmo, kako ustvariti projekt Sikuli maven in kako integrirati Selenium s Sikuli.
Že uporabljate to orodje? Prosimo, delite svoje izkušnje in nasvete. Če želite začeti, vendar imate vprašanja, nam to sporočite.
Priporočeno branje
- Sikuli GUI Automation Test Tool - Priročnik za začetnike 2. del
- 30 najboljših orodij za testiranje grafičnega uporabniškega vmesnika za avtomatizacijo GUI preizkusov (2021 LIST)
- SeeTest Vadnica za avtomatizacijo: Priročnik za orodje za avtomatizacijo mobilnih testov
- Učenje osnov racionalnega robota - IBM Test Automation Tool
- Vadnica Geba - Testiranje avtomatizacije brskalnika z orodjem Geb
- Uporabno brezplačno orodje za zajem zaslona in opombe za preizkuševalce - qSnap Review
- Vadnica Katalon Studio: brezplačno orodje za avtomatizacijo preizkusov, ki ste ga čakali
- Avtomatizacija aplikacij na osnovi Flash z uporabo orodja Sikuli