introduction sikuli gui automation tool sikuli tutorial 1
Kao i uvijek pokušavamo donijeti nove stvari koje bi naučili za naše čitatelje. Danas istražimo zanimljiv alat za automatizaciju GUI-a - Sikuli.
'Automatizirajte sve što vidite' pomoću alata za automatizaciju Sikuli grafičkog korisničkog sučelja (GUI) - Kompletni vodič za početnike za brzo postaviti i počnite koristiti alat Sikuli Script s ovim dubinskim vodičima za Sikuli.
Sikuli automatizira sve što vidite na zaslonu pomoću metode prepoznavanja slike za prepoznavanje GUI elemenata. Sikuli skripta omogućuje korisnicima automatizaciju GUI interakcije pomoću snimki zaslona.
Popis tutorijala u ovoj Sikuli seriji
Ovu smo seriju podijelili u 3 dijela:
Vodič br. 1: Kako to funkcionira, kako stvoriti jednostavan projekt Sikuli.
Vodič br. 2: Kako se Sikuli može koristiti s upravljačkim programom selena za automatizaciju web stranica.
Vodič br. 3: Automatizacija aplikacija temeljenih na Flash-u pomoću alata Sikuli
Što ćete naučiti:
Sikuli GUI alat za automatizaciju
Počnimo s 1. dijelom ove serije.
Sikuli je alat za automatizaciju grafičkog korisničkog sučelja (GUI) metodom 'Visual Image Match'. U Sikuliju svi mrežni elementi trebaju se uzeti kao slika i pohraniti u projekt. Sikuli će aktivirati GUI interakcije na temelju vizualnog podudaranja slike, slike koju smo proslijedili kao parametar zajedno sa svim metodama.
Sikuli može biti vrlo koristan za automatizaciju flash objekata (koji nemaju ID ili ime). To može biti korisno u situaciji kada imamo stabilan GUI (tj. Komponente GUI-a se ne mijenjaju).
Čak se i aplikacije temeljene na prozoru također mogu automatizirati pomoću Sikulija. Sikuli nudi vrlo prijateljski Sikuli-script.jar, koji se lako može koristiti zajedno sa Selenium WebDriver. Na web mjestu čak možemo automatizirati Adobe Video / Audio player, Flash Games pomoću Sikulija. Jednostavnim API-jem olakšava kodiranje.
Praktična upotreba
- Sikuli se može koristiti za automatizaciju Flash objekata / Flash web stranica.
- Može biti korisno automatizirati aplikaciju temeljenu na prozoru. Možemo automatizirati ono što vidimo na ekranu.
- Pruža jednostavan API. tj. svim metodama može se pristupiti pomoću objekata klase zaslona.
- Može se lako integrirati sa selenom i svim ostalim alatima.
- Korištenjem Sikulija možemo automatizirati radne površine.
- Većina alata za testiranje automatizacije neće podržati automatizaciju flash-objekata (npr. Selenij). Sikuli pruža opsežnu podršku za automatizaciju flash objekata.
- Koristi snažni mehanizam 'Visual Match' za automatizaciju radnih i flash objekata.
Prednosti
- Alat otvorenog koda.
- Jedna od najvećih prednosti Sikulija je ta što lako može automatizirati Flash objekte.
- Olakšava automatizaciju programa Windows.
- Kada testirate aplikaciju u razvoju i ne znate ID / naziv elemenata, tada možete ići sa Sikulijem. Provjerit će izgled slike i ako je pronađeno podudaranje, sukladno će interakciji sa slikom.
Preduvjeti:
Prije početka moramo preuzeti i instalirati sljedeći softver:
- Bilo koji alat za snimanje zaslona ( Na primjer, DuckCapture , ili qSnap )
- JDK
- Eclipse (detaljni koraci ovdje instalirati JDK i Eclipse)
Koraci za stvaranje projekta Sikuli Java
Korak # 1: Preuzimanje Sikulija - Preuzmite Sikuli sa ovdje .
Korak 2: Izdvojite zip datoteku koju ste preuzeli. Sadržat će datoteku Sikuli-script.jar. Spremite ovu izdvojenu datoteku u vaš lokalni datotečni sustav.
3. korak: Otvorite Eclipse.
Korak # 4: Stvorite datoteku java projekta -> Novo -> Java projekt
Korak # 5:
- Desni klik na projekt
- Idite na Build Path-> Configure Build Path
- Prebacite se na karticu Knjižnice
- Kliknite gumb 'Dodaj vanjske staklenke' i dodajte Sikuli-Script.jar u Put izgradnje.
- Kliknite 'Ok'
Sikuli-script.jar bit će dodan na put izgradnje vašeg projekta. Gotov si. Sada možete početi pisati Sikuli skripte unutar ovog projekta.
Neke Sikulijeve metode
# 1) Izrada objekta za klasu zaslona
Zaslon je osnovna klasa koju pruža Sikuli. Prvo moramo stvoriti objekt za ovu klasu zaslona, a onda samo mi možemo pristupiti svim metodama koje pruža Sikuli.
Sintaksa:
Zaslon s = novi zaslon ();
# 2) Kliknite na element
Ova metoda koristi se za klikanje na određenu sliku prisutnu na zaslonu.
Sintaksa:
s.klik (“<>');
najbolji besplatni softver za poboljšanje performansi računala
Na primjer,
s.klik (“test.png”);
# 3) Desni klik na element
Ova se metoda koristi za desni klik na određenu sliku prisutnu na zaslonu.
Sintaksa:
s.rightClick (“<>');
Na primjer,
s.rightClick (“test.png”);
# 4) Pronađi element
Ovom se metodom pronalazi određeni element prisutan na zaslonu.
Sintaksa:
s.find („<>');
Na primjer,
s.find ('test.png');
# 5) Dvaput kliknite na element
Ova se metoda koristi za pokretanje događaja dvostrukog klika na određenoj slici prisutnoj na zaslonu.
Sintaksa:
s.doubleClick (“<>');
Na primjer,
s.doubleClick (“test.png”);
# 6) Provjerite je li element prisutan na zaslonu
Ovom se metodom provjerava je li navedeni element prisutan na zaslonu.
Sintaksa:
s.postoji („<>');
Na primjer,
s.postoji ('test.png');
# 7) Upišite niz u okvir za tekst
Ovom se metodom u okvir za tekst unosi navedeni tekst.
Sintaksa:
s.tip ('<>”,” Niz koji se upisuje ”);
Na primjer,
s.tip ('test.png', 'HI !!');
# 8) Kotanjem određene slike
Ova se metoda koristi za izvršavanje radnje kotača na slici elementa.
Sintaksa:
s.kotačić („<>”,<>,<>);
Na primjer,
s.kotačić ('test.png', 25,0);
# 9) Povucite i ispustite sliku / element
Ova se metoda koristi za povlačenje i ispuštanje određene slike s izvornog na ciljni položaj.
Sintaksa:
s.dragDrop (“<>','<>');
Na primjer,
s.dragDrop ('test.png', 'test1.png');
# 10) Postavite pokazivač miša na određenu sliku
Ova se metoda koristi za izvođenje događaja lebdenja na navedenoj slici.
Sintaksa:
s.hover („<>');
Na primjer,
s.hover ('test.png');
kako stvoriti plan ispitivanja za testiranje softvera
# 11) Zalijepi kopirani niz
Ova se metoda koristi za lijepljenje teksta u navedeni okvir za tekst.
Sintaksa:
s.paste („<>','test');
Na primjer,
s.paste ('test.png', 'test');
Primjeri Sikulija
# 1) YouTube video - pauzirajte i reproducirajte videozapis
Korak 1) Otvorite YouTube video vezu i snimite reprodukciju i pauziranje slika elemenata pomoću alata za snimanje zaslona.
Gumb za pauzu ( Bilješka: naziv datoteke je pause.png)
Gumb za reprodukciju ( Bilješka: naziv datoteke je play.png)
Kopirajte ove slike u projekt.
kako otvoriti torrent datoteku na računalu
Korak 2) Stvorite paket unutar izrađenog projekta Sikuli java i unutar njega stvorite klasu pod nazivom 'Youtube'.
Korak # 3) Upišite sljedeći kod unutar te klase.
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) Desnom tipkom miša kliknite klasu, odaberite Run As -> Java Application.
# 2) Otvorite Notepad i unesite tekst
Korak # 1) Snimite ikonu bilježnice na radnoj površini na zaslonu.
notepad_icon.png
notepad.png
Korak # dva) Kopirajte ove slike u svoj projekt.
Korak # 3) Stvorite klasu pod nazivom „NotepadExample“ unutar svog projekta i upišite sljedeći kôd.
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!!!!'); } }
Korak # 4) Otvorite zaslon koji želite testirati prije izvođenja koda.
Izvršite ovu datoteku desnim klikom na Pokreni kao -> Java aplikacija.
# 3) Povucite i ispustite
Korak 1) Snimite snimku zaslona potrebnih stavki na ekranu i stavite je u svoj projekt Sikuli.
[ Bilješka: ovdje je ikona za preuzimanje 'source.png', a cvjetna slika je 'destination.png']
Korak # dva) Stavite ove slike u svoj projekt.
Korak # 3) Stvorite razred s imenom 'DragAndDrop' i napišite sljedeći 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'); } }
Korak # 4) Izvršite ovu skriptu desnim klikom na Pokreni kao -> Java aplikacija.
Nakon izvršenja ove skripte, ikona za preuzimanje povući će se i ispustiti na sliku, naznačenu kao cilj.
Prije izvršenja:
Nakon izvršenja:
Nedostaci ovog alata
- Ne možemo vam jamčiti da će podudaranje slike uvijek biti točno. Ponekad, ako su na ekranu dostupne dvije ili više sličnih slika, Sikuli će pokušati odabrati pogrešnu sliku.
- A ako se izgled slike razlikuje u veličini piksela, to će rezultirati i iznimkom 'Pronađi neuspjelo'.
- Općenito snimanje previše snimaka zaslona.
- Ako bilo tko sa snimke zaslona nedostaje, to će utjecati na izvršavanje programa.
Više resursa:
Zaključak
Sikuli je vrlo koristan u automatizaciji bljeskalnih objekata. Može se koristiti za automatizaciju aplikacija temeljenih na prozorima. Izvrstan je alat za igranje s elementima na zaslonu na temelju njihove vizualne slike.
O autoru: Ovo je gost posta Anithe Eswari. Trenutno radi kao viši inženjer za ispitivanje i dobro poznaje ručno i automatizirano testiranje te razne alate za upravljanje testovima.
Sljedeći vodič : U sljedećem dijelu ove serije detaljno razmotrimo stvaranje projekta Sikuli maven i kako integrirati Selenium sa Sikuli.
Već koristite ovaj alat? Podijelite svoje iskustvo i savjete. Ako želite započeti, ali imate upite, javite nam.
Preporučena literatura
- Sikuli GUI alat za automatizaciju - Vodič za početnike, dio 2
- 30 najboljih alata za testiranje grafičkog sučelja za automatizaciju GUI testa [2021 POPIS]
- Vodič za automatizaciju SeeTesta: Vodič za alat za automatizaciju mobilnih testova
- Učenje osnova racionalnog robota - IBM Test Automation Tool
- Geb vodič - Ispitivanje automatizacije preglednika pomoću alata Geb
- Korisni besplatni alat za hvatanje zaslona i bilješke za testere - qSnap pregled
- Vodič za Katalon Studio: Besplatni alat za automatizaciju testa koji ste čekali
- Automatizacija aplikacija temeljenih na Flash-u pomoću alata Sikuli