introduction sikuli gui automation tool sikuli tutorial 1
Wie immer versuchen wir, neue Dinge für unsere Leser einzubringen. Lassen Sie uns heute ein interessantes GUI-Automatisierungstool untersuchen - Sikuli.
'Automatisieren Sie alles, was Sie sehen' mit dem Automatisierungstool 'Sikuli Graphical User Interface' (GUI) - Vollständige Anleitung für Anfänger schnell einrichten und Starten Sie das Sikuli Script-Tool mit diesen ausführlichen Sikuli-Tutorials.
Sikuli Automatisiert alles, was Sie auf dem Bildschirm sehen, mithilfe der Bilderkennungsmethode, um GUI-Elemente zu identifizieren. Mit dem Sikuli-Skript können Benutzer die GUI-Interaktion mithilfe von Screenshots automatisieren.
Liste der Tutorials in dieser Sikuli-Reihe
Wir haben diese Serie in 3 Teile unterteilt:
Tutorial Nr. 1: Wie es funktioniert, wie man ein einfaches Sikuli-Projekt erstellt.
Tutorial # 2: Wie Sikuli mit dem Selenium Web Driver zur Automatisierung von Webseiten verwendet werden kann.
Tutorial # 3: Automatisieren von Flash-basierten Anwendungen mit dem Sikuli Tool
Was du lernen wirst:
Sikuli GUI Automation Tool
Beginnen wir mit dem ersten Teil dieser Serie.
Sikuli ist ein Tool zur Automatisierung grafischer Benutzeroberflächen (GUI) mithilfe der Methode „Visual Image Match“. In Sikuli sollten alle Webelemente als Bild aufgenommen und im Projekt gespeichert werden. Sikuli löst GUI-Interaktionen basierend auf der visuellen Übereinstimmung des Bildes aus, dem Bild, das wir zusammen mit allen Methoden als Parameter übergeben haben.
Sikuli kann sehr nützlich sein, um Flash-Objekte (die keine ID oder keinen Namen haben) zu automatisieren. Dies kann in Situationen nützlich sein, in denen wir eine stabile GUI haben (d. H. GUI-Komponenten, die sich nicht ändern).
Auch fensterbasierte Anwendungen können mit Sikuli automatisiert werden. Sikuli bietet eine sehr freundliche Sikuli-script.jar, die problemlos zusammen mit Selenium WebDriver verwendet werden kann. Mit Sikuli können wir sogar Adobe Video / Audio-Player und Flash-Spiele auf der Website automatisieren. Mit der einfachen API wird die Codierung vereinfacht.
Praktische Anwendungen
- Mit Sikuli können Flash-Objekte / Flash-Websites automatisiert werden.
- Es kann nützlich sein, die Windows-basierte Anwendung zu automatisieren. Wir können automatisieren, was wir auf dem Bildschirm sehen.
- Es bietet eine einfache API. d.h. auf alle Methoden kann unter Verwendung von Bildschirmklassenobjekten zugegriffen werden.
- Es kann problemlos in Selen und alle anderen Tools integriert werden.
- Mit Sikuli können wir Desktop-Anwendungen automatisieren.
- Die meisten Automatisierungstest-Tools unterstützen keine Flash-Objektautomatisierung (z. B. Selen). Sikuli bietet umfassende Unterstützung für die Automatisierung von Flash-Objekten.
- Es verwendet einen leistungsstarken „Visual Match“ -Mechanismus, um Desktop- und Flash-Objekte zu automatisieren.
Leistungen
- Open-Source-Tool.
- Einer der größten Vorteile von Sikuli ist, dass es Flash-Objekte einfach automatisieren kann.
- Es macht es einfach, Windows-Anwendungen zu automatisieren.
- Wenn Sie eine in der Entwicklung befindliche Anwendung testen und die ID / den Namen der Elemente nicht kennen, können Sie sich für Sikuli entscheiden. Es überprüft das Erscheinungsbild des Bildes und wenn die Übereinstimmung gefunden wird, interagiert es entsprechend mit dem Bild.
Voraussetzungen:
Bevor wir beginnen, müssen wir die folgende Software herunterladen und installieren:
- Beliebiges Screenshot-Aufnahme-Tool ( Zum Beispiel, DuckCapture , oder qSnap )
- JDK
- Eclipse (detaillierte Schritte Hier JDK und Eclipse installieren)
Schritte zum Erstellen des Sikuli Java-Projekts
Schritt 1: Sikuli herunterladen - - Laden Sie Sikuli von herunter Hier .
Schritt 2: Extrahieren Sie die heruntergeladene Zip-Datei. Es enthält die Datei Sikuli-script.jar. Speichern Sie diese extrahierte Datei in Ihrem lokalen Dateisystem.
Schritt 3: Öffnen Sie Eclipse.
Schritt 4: Erstellen Sie ein Java-Projekt Datei -> Neu -> Java-Projekt
Schritt 5:
- Klicken Sie mit der rechten Maustaste auf das Projekt
- Gehen Sie zu Erstellungspfad-> Erstellungspfad konfigurieren
- Wechseln Sie zur Registerkarte Bibliotheken
- Klicken Sie auf die Schaltfläche 'Externe Gläser hinzufügen' und fügen Sie Sikuli-Script.jar im Erstellungspfad hinzu.
- OK klicken'
Sikuli-script.jar wird Ihrem Projekterstellungspfad hinzugefügt. Sie sind fertig. Jetzt können Sie mit dem Schreiben von Sikuli-Skripten in diesem Projekt beginnen.
Fragen und Antworten zu etl-Testinterviews pdf
Einige Sikuli-Methoden
# 1) Objekt für Bildschirmklasse erstellen
Der Bildschirm ist eine Basisklasse von Sikuli. Wir müssen zuerst ein Objekt für diese Bildschirmklasse erstellen, dann können nur wir auf alle von Sikuli bereitgestellten Methoden zugreifen.
Syntax:
Bildschirm s = neuer Bildschirm ();
# 2) Klicken Sie auf ein Element
Mit dieser Methode klicken Sie auf das auf dem Bildschirm angezeigte Bild.
Syntax:
anklicken (“<>”);
Zum Beispiel,
s.click ('test.png');
# 3) Klicken Sie mit der rechten Maustaste auf ein Element
Diese Methode wird verwendet, um mit der rechten Maustaste auf das auf dem Bildschirm angezeigte Bild zu klicken.
Syntax:
s.rightClick (“<>”);
Zum Beispiel,
s.rightClick ('test.png');
# 4) Finde ein Element
Diese Methode wird verwendet, um ein bestimmtes Element auf dem Bildschirm zu finden.
Syntax:
s.find (“<>”);
Zum Beispiel,
s.find ('test.png');
# 5) Doppelklicken Sie auf ein Element
Diese Methode wird verwendet, um ein Doppelklickereignis auf ein bestimmtes Bild auf dem Bildschirm auszulösen.
Syntax:
s.doubleClick (“<>”);
Zum Beispiel,
s.doubleClick ('test.png');
# 6) Überprüfen Sie, ob ein Element auf dem Bildschirm vorhanden ist
Mit dieser Methode wird überprüft, ob das angegebene Element auf dem Bildschirm vorhanden ist.
Syntax:
s.exists (“<>”);
Zum Beispiel,
s.exists ('test.png');
# 7) Geben Sie eine Zeichenfolge in ein Textfeld ein
Diese Methode wird verwendet, um den angegebenen Text in das Textfeld einzugeben.
Syntax:
s.type (“<>”,” Zu tippender String ”);
Zum Beispiel,
s.type ('test.png', 'HI !!');
bester Müllreiniger für Windows 10
# 8) Auf einem bestimmten Bild drehen
Diese Methode wird verwendet, um eine Radaktion für das Elementbild durchzuführen.
Syntax:
am Rad (“<>”,<>,<>);
Zum Beispiel,
am Rad ('test.png', 25,0);
# 9) Ziehen Sie ein Bild / Element per Drag & Drop
Diese Methode wird verwendet, um ein bestimmtes Bild von der Quellposition zur Zielposition zu ziehen und dort abzulegen.
Syntax:
s.dragDrop (“<>','<>”);
Zum Beispiel,
s.dragDrop ('test.png', 'test1.png');
# 10) Bewegen Sie den Mauszeiger über ein bestimmtes Bild
Diese Methode wird verwendet, um ein Roll-Hover-Ereignis für das angegebene Bild durchzuführen.
Syntax:
s.hover (“<>”);
Zum Beispiel,
s.hover ('test.png');
# 11) Kopierte Zeichenfolge einfügen
Diese Methode wird verwendet, um Text in das angegebene Textfeld einzufügen.
Syntax:
an Paste (“<>','Prüfung');
Zum Beispiel,
s.paste ('test.png', 'test');
Was ist die beste Musik-Downloader-App für Android
Sikuli Beispiele
# 1) YouTube-Video - Pause und Wiedergabe eines Videos
Schritt 1) Öffnen Sie einen YouTube-Videolink und erfassen Sie Wiedergabe und halten Sie Elementbilder mit dem Bildschirmaufnahme-Tool an.
Pause-Taste ( Hinweis: Dateiname ist pause.png)
Wiedergabetaste ( Hinweis: Dateiname ist play.png)
Kopieren Sie diese Bilder in das Projekt.
Schritt 2) Erstellen Sie ein Paket innerhalb des erstellten Sikuli-Java-Projekts und erstellen Sie darin eine Klasse mit dem Namen 'Youtube'.
Schritt 3) Geben Sie den folgenden Code in diese Klasse ein.
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 } }
Schritt # 4) Klicken Sie mit der rechten Maustaste auf die Klasse und wählen Sie Ausführen als -> Java-Anwendung.
# 2) Öffnen Sie den Editor und geben Sie Text ein
Schritt # 1) Erfassen Sie das Notizblock-Symbol auf dem Desktop auf dem Bildschirm.
notepad_icon.png
notepad.png
Schritt # 2) Kopieren Sie diese Bilder in Ihr Projekt.
Schritt 3) Erstellen Sie eine Klasse mit dem Namen 'NotepadExample' in Ihrem Projekt und geben Sie den folgenden Code ein.
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!!!!'); } }
Schritt 4) Öffnen Sie den zu testenden Bildschirm, bevor Sie den Code ausführen.
Führen Sie diese Datei aus, indem Sie mit der rechten Maustaste auf Ausführen als -> Java-Anwendung klicken.
# 3) Drag & Drop
Schritt 1) Machen Sie den Screenshot der erforderlichen Elemente auf dem Bildschirm und fügen Sie ihn in Ihr Sikuli-Projekt ein.
( Hinweis: Hier lautet das Download-Symbol 'source.png' und das Blumenbild 'destination.png'.)
Schritt # 2) Fügen Sie diese Bilder in Ihr Projekt ein.
Schritt #3) Erstellen Sie eine Klasse mit dem Namen 'DragAndDrop' und schreiben Sie den folgenden Code.
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'); } }
Schritt # 4) Führen Sie dieses Skript aus, indem Sie mit der rechten Maustaste auf Ausführen als -> Java-Anwendung klicken.
Nach der Ausführung dieses Skripts wird das Download-Symbol per Drag & Drop auf das als Ziel angegebene Bild gezogen.
Vor der Ausführung:
Nach der Ausführung:
Nachteile dieses Werkzeugs
- Wir können Ihnen nicht versichern, dass die Bildübereinstimmung immer korrekt ist. Wenn zwei oder mehr ähnliche Bilder auf dem Bildschirm verfügbar sind, versucht Sikuli manchmal, das falsche Bild auszuwählen.
- Wenn das Erscheinungsbild des Bildes in der Pixelgröße variiert, führt dies auch zur Ausnahme „Suche fehlgeschlagen“.
- Overhead von zu vielen Screenshots.
- Wenn einer der Screenshots fehlt, wirkt sich dies auf die Ausführung des Programms aus.
Mehr Ressourcen:
Fazit
Sikuli ist sehr nützlich bei der Automatisierung von Flash-Objekten. Es kann verwendet werden, um fensterbasierte Anwendungen zu automatisieren. Es ist ein großartiges Werkzeug, um mit Elementen auf einem Bildschirm zu spielen, basierend auf deren Grafik.
Über den Autor: Dies ist ein Gastbeitrag von Anitha Eswari. Derzeit arbeitet sie als leitende Testingenieurin mit fundierten Kenntnissen in manuellen Tests und Automatisierungstests sowie verschiedenen Testmanagement-Tools.
Nächstes Tutorial :: Im nächsten Teil dieser Reihe wollen wir uns eingehend mit der Erstellung des Sikuli-Maven-Projekts und der Integration von Selen in Sikuli befassen.
Verwenden Sie dieses Tool bereits? Bitte teilen Sie Ihre Erfahrungen und Tipps. Wenn Sie loslegen möchten, aber Fragen haben, lassen Sie es uns wissen.
Literatur-Empfehlungen
- Sikuli GUI Automation Testing Tool - Anfängerhandbuch Teil 2
- 30 besten GUI-Testwerkzeuge für die GUI-Testautomatisierung (2021 LIST)
- SeeTest Automation Tutorial: Ein Handbuch für mobile Testautomatisierungstools
- Lerngrundlagen von Rational Robot - IBM Test Automation Tool
- Geb Tutorial - Browser Automation Testing Using Geb Tool
- Nützliches kostenloses Tool zur Bildschirmaufnahme und Kommentierung für die Tester - qSnap Review
- Katalon Studio Tutorial: Ein kostenloses Testautomatisierungstool, auf das Sie gewartet haben
- Automatisieren von Flash-basierten Anwendungen mit dem Sikuli Tool