introduction sikuli gui automation tool sikuli tutorial 1
Jako vždy se snažíme přinášet nové věci, které se učíme pro naše čtenáře. Dnes prozkoumáme zajímavý nástroj pro automatizaci grafického uživatelského rozhraní - Sikuli.
„Automatizujte vše, co vidíte“ pomocí automatizačního nástroje Sikuli Graphical User Interface (GUI) - Kompletní průvodce pro začátečníky rychle nastavit a začněte používat nástroj Sikuli Script s těmito podrobnými Sikuli Tutoriály.
Sikuli automatizuje vše, co vidíte na obrazovce, pomocí metody rozpoznávání obrazu k identifikaci prvků grafického uživatelského rozhraní. Skript Sikuli umožňuje uživatelům automatizovat interakci GUI pomocí snímků obrazovky.
zařízení modelu os používají každou vrstvu
Seznam výukových programů v této sérii Sikuli
Tuto sérii jsme rozdělili na 3 části:
Výukový program č. 1: Jak to funguje, jak vytvořit jednoduchý projekt Sikuli.
Výukový program č. 2: Jak lze Sikuli použít se selenovým webovým ovladačem k automatizaci webových stránek.
Výukový program č. 3: Automatizace aplikací založených na Flash pomocí nástroje Sikuli
Co se naučíte:
Nástroj pro automatizaci grafického uživatelského rozhraní Sikuli
Začněme 1. dílem této série.
Sikuli je nástroj pro automatizaci grafických uživatelských rozhraní (GUI) pomocí metody „Visual Image Match“. V Sikuli by měly být všechny webové prvky brány jako obrázek a uloženy uvnitř projektu. Sikuli spustí interakce GUI na základě vizuální shody obrazu, obrazu, který jsme předali jako parametr spolu se všemi metodami.
Sikuli může být velmi užitečné pro automatizaci flash objektů (které nemají ID ani jméno). Může to být užitečné v situaci, kdy máme stabilní GUI (tj. Komponenty GUI se nemění).
Dokonce i aplikace založené na Window lze také automatizovat pomocí Sikuli. Sikuli poskytuje velmi přátelský soubor Sikuli-script.jar, který lze snadno použít společně se Selenium WebDriver. Můžeme dokonce automatizovat Adobe Video / Audio player, Flash Games na webu pomocí Sikuli. S jednoduchým API usnadňuje kódování.
Praktická použití
- Sikuli lze použít k automatizaci objektů Flash / webových stránek Flash.
- Může být užitečné automatizovat aplikaci založenou na Windows. Můžeme automatizovat to, co vidíme na obrazovce.
- Poskytuje jednoduché API. tj. ke všem metodám lze přistupovat pomocí objektů třídy obrazovky.
- Může být snadno integrován se selenem a všemi ostatními nástroji.
- Pomocí Sikuli můžeme automatizovat desktopové aplikace.
- Většina automatizačních testovacích nástrojů nepodporuje automatizaci flash objektů (např. Selen). Sikuli poskytuje rozsáhlou podporu pro automatizaci flash objektů.
- Využívá výkonný mechanismus „vizuální shody“ k automatizaci stolních a flash objektů.
Výhody
- Open-source nástroj.
- Jednou z největších výhod Sikuli je, že může snadno automatizovat Flash objekty.
- To usnadňuje automatizaci aplikace Windows.
- Když testujete vyvíjenou aplikaci a neznáte ID / název prvků, můžete jít se Sikuli. Zkontroluje vzhled obrázku a pokud bude nalezena shoda, bude podle toho interagovat s obrázkem.
Předpoklady:
Než začneme, musíme si stáhnout a nainstalovat následující software:
- Libovolný nástroj pro snímání obrazovky ( Například, DuckCapture nebo qSnap )
- JDK
- Zatmění (podrobné kroky tady nainstalovat JDK a Eclipse)
Kroky k vytvoření projektu Sikuli Java
Krok 1: Stažení Sikuli - Stáhněte si Sikuli z tady .
Krok 2: Rozbalte stažený soubor ZIP. Bude obsahovat soubor Sikuli-script.jar. Uložte tento extrahovaný soubor do místního systému souborů.
Krok č. 3: Otevřete Eclipse.
Krok č. 4: Vytvořte soubor projektu Java -> Nový -> Projekt Java
Krok č. 5:
- Klikněte pravým tlačítkem na projekt
- Přejít na Build Path-> Configure Build Path
- Přepněte na kartu Knihovny
- Klikněte na tlačítko „Přidat externí nádoby“ a na cestě k sestavení přidejte soubor Sikuli-Script.jar.
- Klikněte na „OK“
Sikuli-script.jar bude přidán do vaší cesty sestavení projektu. Jsi hotový. Nyní můžete v tomto projektu začít psát skripty Sikuli.
Některé Sikuliho metody
# 1) Vytvoření objektu pro třídu obrazovky
Obrazovka je základní třída poskytovaná společností Sikuli. Nejprve musíme vytvořit objekt pro tuto třídu obrazovky, pak budeme mít přístup pouze ke všem metodám poskytovaným Sikuli.
Syntax:
Obrazovka s = nová obrazovka ();
# 2) Klikněte na prvek
Tato metoda slouží k kliknutí na konkrétní obrázek na obrazovce.
Syntax:
s.click („<>“);
Například,
s.click („test.png“);
# 3) Klikněte pravým tlačítkem na prvek
Tato metoda slouží k pravému kliknutí na konkrétní obrázek na obrazovce.
Syntax:
s.rightClick („<>“);
Například,
s.rightClick („test.png“);
# 4) Najděte prvek
Tato metoda slouží k vyhledání konkrétního prvku přítomného na obrazovce.
Syntax:
s.find („<>“);
Například,
s.find („test.png“);
# 5) Poklepejte na prvek
Tato metoda se používá ke spuštění události dvojitého kliknutí na konkrétním obrázku přítomném na obrazovce.
Syntax:
s.doubleClick („<>“);
Například,
s.doubleClick („test.png“);
# 6) Zkontrolujte, zda se na obrazovce nachází prvek
Tato metoda se používá ke kontrole, zda je zadaný prvek na obrazovce.
Syntax:
s.exists („<>“);
Například,
s.exists („test.png“);
# 7) Zadejte řetězec do textového pole
Tato metoda se používá k zadání zadaného textu do textového pole.
Syntax:
s.type („<>”,” Řetězec, který se má psát ”);
Například,
s.type („test.png“, „HI !!“);
# 8) Kolečko na konkrétním obrázku
Tato metoda se používá k provedení kolečkové akce na obrázku prvku.
Syntax:
s.wheel („<>”,<>,<>);
Například,
s.wheel („test.png“, 25,0);
# 9) Přetáhněte obrázek / prvek
Tato metoda se používá k přetažení určeného obrázku ze zdrojové polohy do cílové polohy.
Syntax:
s.dragDrop („<>„,“<>“);
Například,
s.dragDrop („test.png“, „test1.png“);
# 10) Umístěte ukazatel myši na konkrétní obrázek
Tato metoda se používá k provedení události najetí myší na zadaný obrázek.
Syntax:
s.hover („<>“);
Například,
s.hover („test.png“);
# 11) Vložte zkopírovaný řetězec
Tato metoda se používá k vložení textu do zadaného textového pole.
Syntax:
s.paste („<>','test');
Například,
s.paste („test.png“, „test“);
Sikuli příklady
# 1) YouTube Video - Pozastavení a přehrávání videa
Krok 1) Otevřete odkaz na video z YouTube a pomocí nástroje pro snímání obrazovky pořiďte přehrávání a pozastavení obrázků prvků.
Tlačítko Pause ( Poznámka: název souboru je pause.png)
Tlačítko Přehrát ( Poznámka: název souboru je play.png)
Zkopírujte tyto obrázky do projektu.
Krok 2) Vytvořte balíček uvnitř vytvořeného projektu Sikuli java a v rámci něj vytvořte třídu s názvem „Youtube“.
Krok č. 3) Zadejte následující kód uvnitř této třídy.
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 } }
Krok # 4) Klikněte pravým tlačítkem na třídu a vyberte Spustit jako -> Java aplikace.
# 2) Otevřete Poznámkový blok a zadejte nějaký text
Krok # 1) Zachyťte ikonu poznámkového bloku na ploše na obrazovce.
notepad_icon.png
notepad.png
Krok # 2) Zkopírujte tyto obrázky do svého projektu.
Krok č. 3) Vytvořte uvnitř projektu třídu s názvem „NotepadExample“ a zadejte následující 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!!!!'); } }
Krok č. 4) Před spuštěním kódu otevřete testovanou obrazovku.
Spusťte tento soubor kliknutím pravým tlačítkem myši na Spustit jako -> Java aplikace.
# 3) Drag and Drop
Krok 1) Pořiďte snímek obrazovky s požadovanými položkami na obrazovce a vložte jej do svého projektu Sikuli.
( Poznámka: zde je ikona stahování „source.png“ a obrázek květiny je „destination.png“)
Krok # 2) Vložte tyto obrázky do svého projektu.
Krok # 3) Vytvořte třídu s názvem „DragAndDrop“ a napište následující kód.
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'); } }
Krok # 4) Spusťte tento skript kliknutím pravým tlačítkem na Spustit jako -> Java aplikace.
Po provedení tohoto skriptu bude ikona stahování na obrázek přetažena a označena jako cíl.
Před provedením:
Po provedení:
Nevýhody tohoto nástroje
- Nemůžeme vás ujistit, že shoda obrázků bude vždy přesná. Někdy, pokud jsou na obrazovce k dispozici dva nebo více podobných obrázků, se Sikuli pokusí vybrat špatný obrázek.
- A pokud se vzhled obrázku liší velikostí pixelu, bude to mít také za následek výjimku „Hledání selhalo“.
- Režie pořizování příliš mnoha snímků obrazovky.
- Pokud někdo ze snímku obrazovky chybí, ovlivní to provedení programu.
Další zdroje:
Závěr
Sikuli je velmi užitečné při automatizaci flash objektů. Lze jej použít k automatizaci okenních aplikací. Je to skvělý nástroj pro hraní s prvky na obrazovce na základě jejich vizuálních prvků.
O autorovi: Toto je příspěvek od Anithy Eswari. V současné době pracuje jako vedoucí testovacího inženýra se znalostí ručního a automatizačního testování a různých nástrojů pro správu testů.
Další výuka : V další části této série se pojďme hlouběji podívat na vytvoření projektu Sikuli maven a na to, jak integrovat selen se Sikuli.
Tento nástroj již používáte? Podělte se o své zkušenosti a tipy. Pokud chcete začít, ale máte dotazy, dejte nám vědět.
Doporučené čtení
- Nástroj pro testování automatizace grafického uživatelského rozhraní Sikuli - Průvodce pro začátečníky Část 2
- 30 nejlepších nástrojů pro testování grafického uživatelského rozhraní pro automatizaci testu grafického uživatelského rozhraní (SEZNAM 2021)
- Výukový program pro automatizaci SeeTest: Průvodce nástrojem pro automatizaci mobilních testů
- Učení Základy Rational Robot - IBM Test Automation Tool
- Výukový program Geb - Testování automatizace prohlížeče pomocí nástroje Geb
- Užitečný bezplatný nástroj pro snímání obrazovky a poznámky pro testery - qSnap Review
- Výukový program Katalon Studio: Nástroj pro automatizaci bezplatného testování, na který jste čekali
- Automatizace aplikací založených na Flash pomocí nástroje Sikuli