introduction sikuli gui automation tool sikuli tutorial 1
Jak zawsze staramy się wnosić nowe rzeczy do nauki dla naszych czytelników. Dzisiaj przyjrzyjmy się ciekawemu narzędziu do automatyzacji GUI - Sikuli.
„Automatyzuj wszystko, co widzisz” za pomocą narzędzia do automatyzacji z graficznym interfejsem użytkownika (GUI) Sikuli - kompletny przewodnik dla początkujących szybko skonfigurować i zacznij używać narzędzia Sikuli Script z tymi szczegółowymi samouczkami Sikuli.
Sikuli Automatyzuje wszystko, co widzisz na ekranie, wykorzystując metodę rozpoznawania obrazu do identyfikacji elementów GUI. Skrypt Sikuli pozwala użytkownikom zautomatyzować interakcję z GUI za pomocą zrzutów ekranu.
Lista samouczków w tej serii Sikuli
Podzieliliśmy tę serię na 3 części:
Samouczek nr 1: Jak to działa, jak stworzyć prosty projekt Sikuli.
Samouczek nr 2: Jak Sikuli może być używany ze sterownikiem sieciowym Selenium do automatyzacji stron internetowych.
Samouczek nr 3: Automatyzacja aplikacji opartych na technologii Flash przy użyciu narzędzia Sikuli
Czego się nauczysz:
Narzędzie automatyzacji GUI Sikuli
Zacznijmy od pierwszej części tej serii.
Sikuli to narzędzie do automatyzacji graficznych interfejsów użytkownika (GUI) przy użyciu metody „Visual Image Match”. W Sikuli wszystkie elementy sieci należy traktować jako obraz i przechowywać wewnątrz projektu. Sikuli wywoła interakcje GUI w oparciu o dopasowanie wizualne obrazu, obraz, który przekazaliśmy jako parametr wraz ze wszystkimi metodami.
Sikuli może być bardzo przydatny do automatyzacji obiektów flash (które nie mają identyfikatora ani nazwy). Może się przydać w sytuacji, gdy mamy stabilne GUI (czyli elementy GUI się nie zmieniają).
Nawet aplikacje oparte na oknach mogą być również zautomatyzowane przy użyciu Sikuli. Sikuli udostępnia bardzo przyjazny plik Sikuli-script.jar, który może być łatwo używany razem z Selenium WebDriver. Możemy nawet zautomatyzować odtwarzacz Adobe Video / Audio, gry Flash na stronie internetowej za pomocą Sikuli. Dzięki prostemu API ułatwia kodowanie.
Praktyczne zastosowania
- Sikuli może być używany do automatyzacji obiektów Flash / stron internetowych Flash.
- Przydatne może być zautomatyzowanie aplikacji opartej na systemie Windows. Możemy zautomatyzować to, co widzimy na ekranie.
- Zapewnia proste API. tzn. dostęp do wszystkich metod można uzyskać za pomocą obiektów klasy screen.
- Można go łatwo zintegrować z Selenium i wszystkimi innymi narzędziami.
- Za pomocą Sikuli możemy zautomatyzować aplikacje desktopowe.
- Większość narzędzi do testowania automatyzacji nie obsługuje automatyzacji obiektów flash (np. Selenium). Sikuli zapewnia szerokie wsparcie w zakresie automatyzacji obiektów flash.
- Wykorzystuje potężny mechanizm „Visual Match” do automatyzacji obiektów pulpitu i flash.
Korzyści
- Narzędzie open source.
- Jedną z największych zalet Sikuli jest to, że może łatwo zautomatyzować obiekty Flash.
- Ułatwia automatyzację aplikacji systemu Windows.
- Kiedy testujesz rozwijaną aplikację i nie znasz identyfikatora / nazwy elementów, możesz skorzystać z Sikuli. Sprawdzi wygląd obrazu i jeśli zostanie znalezione dopasowanie, odpowiednio wejdzie w interakcję z obrazem.
Wymagania wstępne:
Przed rozpoczęciem musimy pobrać i zainstalować następujące oprogramowanie:
- Dowolne narzędzie do przechwytywania zrzutów ekranu ( Na przykład, DuckCapture lub qSnap )
- JDK
- Eclipse (szczegółowe kroki tutaj zainstalować JDK i Eclipse)
Kroki tworzenia projektu Sikuli Java
Krok 1: Pobieranie Sikuli - Pobierz Sikuli z tutaj .
Krok 2: Rozpakuj pobrany plik ZIP. Będzie zawierał plik Sikuli-script.jar. Zapisz wyodrębniony plik w lokalnym systemie plików.
Krok 3: Otwórz Eclipse.
Krok 4: Utwórz projekt Java Plik -> Nowy -> Projekt Java
najlepszy program do czyszczenia komputera dla systemu Windows 7
Krok 5:
- Kliknij prawym przyciskiem myszy projekt
- Idź do Build Path-> Configure Build Path
- Przejdź do zakładki Biblioteki
- Kliknij przycisk „Add External Jars” i dodaj Sikuli-Script.jar w ścieżce budowania.
- Kliknij OK'
Sikuli-script.jar zostanie dodany do ścieżki budowania projektu. Jesteś skończony. Teraz możesz zacząć pisać skrypty Sikuli w tym projekcie.
Niektóre metody Sikuli
# 1) Tworzenie obiektu dla klasy ekranu
Ekran jest podstawową klasą dostarczaną przez firmę Sikuli. Musimy najpierw utworzyć obiekt dla tej klasy screen, a dopiero potem mamy dostęp do wszystkich metod dostarczonych przez Sikuli.
Składnia:
Screen s = new Screen ();
# 2) Kliknij element
Ta metoda służyła do klikania określonego obrazu obecnego na ekranie.
Składnia:
s.click („<>”);
Na przykład,
s.click („test.png”);
# 3) Kliknij prawym przyciskiem myszy element
Ta metoda służyła do klikania prawym przyciskiem myszy określonego obrazu na ekranie.
Składnia:
s.rightClick („<>”);
Na przykład,
s.rightClick („test.png”);
# 4) Znajdź element
Ta metoda służyła do znajdowania określonego elementu obecnego na ekranie.
Składnia:
s.find („<>”);
Na przykład,
s.find („test.png”);
# 5) Kliknij dwukrotnie element
Ta metoda służyła do wywoływania zdarzenia dwukrotnego kliknięcia na określonym obrazie na ekranie.
Składnia:
s.doubleClick („<>”);
Na przykład,
s.doubleClick („test.png”);
# 6) Sprawdź, czy element jest obecny na ekranie
Ta metoda służy do sprawdzania, czy określony element jest obecny na ekranie.
kto jest odpowiedzialny za wartość biznesową dostarczoną przez zespół scrumowy?
Składnia:
s.exists („<>”);
Na przykład,
s.exists („test.png”);
# 7) Wpisz ciąg w polu tekstowym
Ta metoda służy do wprowadzania określonego tekstu w polu Tekst.
Składnia:
s.type („<>”,„ Ciąg do wpisania ”);
Na przykład,
s.type („test.png”, „HI !!”);
# 8) Wheeling na określonym obrazie
Ta metoda jest używana do wykonywania operacji kółka na obrazie elementu.
Składnia:
s.wheel („<>”,<>,<>);
Na przykład,
s.wheel („test.png”, 25,0);
# 9) Przeciągnij i upuść obraz / element
Ta metoda służy do przeciągania i upuszczania określonego obrazu z pozycji źródłowej do pozycji docelowej.
Składnia:
s.dragDrop („<>','<>”);
Na przykład,
s.dragDrop („test.png”, „test1.png”);
# 10) Umieść wskaźnik myszy na określonym obrazie
Ta metoda służy do wykonywania zdarzenia roll hover na określonym obrazie.
Składnia:
s.hover („<>”);
Na przykład,
s.hover („test.png”);
# 11) Wklej skopiowany ciąg
Ta metoda służy do wklejania tekstu w określonym polu tekstowym.
Składnia:
s.paste („<>','test');
Na przykład,
s.paste („test.png”, „test”);
Przykłady Sikuli
# 1) Wideo z YouTube - wstrzymaj i odtwórz wideo
Krok 1) Otwórz łącze wideo YouTube i przechwytuj, odtwarzaj i wstrzymuj obrazy elementów za pomocą narzędzia do przechwytywania ekranu.
Przycisk pauzy ( Uwaga: nazwa pliku to pause.png)
Przycisk odtwarzania ( Uwaga: nazwa pliku to play.png)
Skopiuj te obrazy wewnątrz projektu.
Krok 2) Utwórz pakiet w utworzonym projekcie java Sikuli i w ramach tego stwórz klasę o nazwie „Youtube”.
Krok 3) Wpisz następujący kod wewnątrz tej klasy.
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) Kliknij prawym przyciskiem myszy klasę i wybierz Uruchom jako -> Aplikacja Java.
# 2) Otwórz Notatnik i wpisz tekst
Krok # 1) Przechwyć ikonę notatnika na pulpicie na ekranie.
notepad_icon.png
notepad.png
Krok # dwa) Skopiuj te obrazy do swojego projektu.
Krok 3) Utwórz w projekcie klasę o nazwie „NotepadExample” i wpisz następujący 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!!!!'); } }
Krok 4) Otwórz ekran do przetestowania przed wykonaniem kodu.
Uruchom ten plik, klikając prawym przyciskiem myszy Uruchom jako -> Aplikacja Java.
# 3) Przeciągnij i upuść
Krok 1) Zrób zrzut ekranu wymaganych elementów na ekranie i umieść go w swoim projekcie Sikuli.
( Uwaga: tutaj ikona pobierania to „source.png”, a obraz kwiatu to „destination.png”)
Krok # dwa) Umieść te zdjęcia w swoim projekcie.
Krok # 3) Utwórz klasę o nazwie „DragAndDrop” i napisz następujący 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'); } }
Krok # 4) Uruchom ten skrypt, klikając prawym przyciskiem myszy Uruchom jako -> Aplikacja Java.
Po wykonaniu tego skryptu ikona pobierania zostanie przeciągnięta i upuszczona na obraz, wskazany jako cel.
Przed wykonaniem:
Po wykonaniu:
Wady tego narzędzia
- Nie możemy zapewnić, że dopasowanie obrazu będzie zawsze dokładne. Czasami, jeśli na ekranie są dostępne dwa lub więcej podobnych obrazów, Sikuli spróbuje wybrać niewłaściwy obraz.
- A jeśli wygląd obrazu różni się rozmiarem w pikselach, spowoduje to również wyjątek „Find Failed”.
- Koszt wykonania zbyt wielu zrzutów ekranu.
- Jeśli brakuje któregokolwiek ze zrzutów ekranu, będzie to miało wpływ na działanie programu.
Więcej zasobów:
Wniosek
Sikuli jest bardzo przydatny w automatyzacji obiektów flash. Może być używany do automatyzacji aplikacji opartych na oknach. To świetne narzędzie do zabawy elementami na ekranie w oparciu o ich wizualizacje.
O autorze: To jest post gościnny autorstwa Anithy Eswari. Obecnie pracuje jako starszy inżynier testów, posiadając solidną wiedzę na temat testowania ręcznego i automatycznego oraz różnych narzędzi do zarządzania testami.
gdzie znajdę klucz bezpieczeństwa sieci
Następny samouczek : W następnej części tej serii przyjrzyjmy się dogłębnie tworzeniu projektu Sikuli maven i sposobowi integracji Selenu z Sikuli.
Używasz już tego narzędzia? Podziel się swoimi doświadczeniami i wskazówkami. Jeśli chcesz zacząć, ale masz pytania, daj nam znać.
rekomendowane lektury
- Narzędzie do testowania automatyzacji GUI Sikuli - Przewodnik dla początkujących, część 2
- 30 najlepszych narzędzi do testowania GUI do automatyzacji testów GUI (LISTA 2021)
- Zobacz samouczek automatyzacji testów: przewodnik po narzędziu do automatyzacji testów mobilnych
- Nauka podstaw Rational Robot - IBM Test Automation Tool
- Geb Tutorial - Testowanie automatyzacji przeglądarki za pomocą narzędzia Geb
- Przydatne bezpłatne narzędzie do przechwytywania ekranu i notatek dla testerów - przegląd qSnap
- Samouczek Katalon Studio: Darmowe narzędzie do automatyzacji testów, na które czekałeś
- Automatyzacja aplikacji opartych na technologii Flash przy użyciu narzędzia Sikuli