introduction sikuli gui automation tool sikuli tutorial 1
Zoals altijd proberen we nieuwe dingen te leren voor onze lezers. Laten we vandaag een interessante GUI-automatiseringstool bekijken: Sikuli.
'Automatiseer alles wat je ziet' met behulp van de Sikuli Graphical User Interface (GUI) automatiseringstool - Complete beginnershandleiding voor snel opgezet en begin met het gebruik van de Sikuli Script-tool met deze diepgaande Sikuli-tutorials.
Sikuli Automatiseert alles wat u op het scherm ziet met behulp van de beeldherkenningsmethode om GUI-elementen te identificeren. Met het Sikuli-script kunnen gebruikers GUI-interactie automatiseren door schermafbeeldingen te gebruiken.
Lijst met handleidingen in deze Sikuli-serie
We hebben deze serie opgedeeld in 3 delen:
Tutorial # 1: Hoe het werkt, hoe je een eenvoudig Sikuli-project maakt.
Tutorial # 2: Hoe Sikuli kan worden gebruikt met Selenium Web Driver om webpagina's te automatiseren.
Tutorial # 3: Op Flash gebaseerde applicaties automatiseren met behulp van Sikuli Tool
Wat je leert:
Sikuli GUI-automatiseringstool
Laten we beginnen met het eerste deel van deze serie.
Sikuli is een tool om grafische gebruikersinterfaces (GUI) te automatiseren met behulp van de 'Visual Image Match' -methode. In Sikuli moeten alle webelementen als afbeelding worden genomen en in het project worden opgeslagen. Sikuli zal GUI-interacties activeren op basis van de visuele overeenkomst van de afbeelding, de afbeelding die we hebben doorgegeven als parameter, samen met alle methoden.
Sikuli kan erg handig zijn om flash-objecten te automatiseren (die geen ID of naam hebben). Het kan handig zijn in situaties waarin we een stabiele GUI hebben (d.w.z. GUI-componenten veranderen niet).
Zelfs Window-gebaseerde applicaties kunnen ook worden geautomatiseerd met Sikuli. Sikuli biedt een zeer vriendelijk Sikuli-script.jar, dat gemakkelijk samen met Selenium WebDriver kan worden gebruikt. We kunnen zelfs Adobe Video / Audio Player, Flash Games op de website automatiseren met Sikuli. Met een eenvoudige API maakt het coderen eenvoudiger.
Praktisch gebruik
- Sikuli kan worden gebruikt om Flash-objecten / Flash-websites te automatiseren.
- Het kan handig zijn om de op Windows gebaseerde applicatie te automatiseren. We kunnen automatiseren wat we op het scherm zien.
- Het biedt een eenvoudige API. d.w.z. alle methoden zijn toegankelijk met behulp van schermklasse-objecten.
- Het kan eenvoudig worden geïntegreerd met Selenium en alle andere tools.
- Met Sikuli kunnen we desktoptoepassingen automatiseren.
- De meeste automatiseringstesttools ondersteunen geen automatisering van flashobjecten (bijv. Selenium). Sikuli biedt uitgebreide ondersteuning om flitsobjecten te automatiseren.
- Het maakt gebruik van een krachtig 'Visual Match' -mechanisme om desktop- en flash-objecten te automatiseren.
Voordelen
- Open-source tool.
- Een van de grootste voordelen van Sikuli is dat het eenvoudig Flash-objecten kan automatiseren.
- Het maakt het gemakkelijk om de Windows-applicatie te automatiseren.
- Wanneer u een applicatie in ontwikkeling test en u de ID / naam van de elementen niet weet, dan kunt u voor Sikuli gaan. Het zal het uiterlijk van de afbeelding controleren en als de overeenkomst is gevonden, zal het dienovereenkomstig met de afbeelding communiceren.
Voorwaarden:
Voordat we beginnen, moeten we de volgende software downloaden en installeren:
- Elke tool voor het vastleggen van schermafbeeldingen ( Bijvoorbeeld, DuckCapture , of qSnap
- JDK
- Eclipse (gedetailleerde stappen hier om JDK en Eclipse te installeren)
Stappen om het Sikuli Java-project te maken
Stap 1: Sikuli downloaden Download Sikuli van hier
Stap 2: Pak het zip-bestand uit dat u heeft gedownload. Het bevat het bestand Sikuli-script.jar. Sla dit uitgepakte bestand op in uw lokale bestandssysteem.
Stap 3: Open Eclipse.
Stap 4: Maak een Java-project Bestand -> Nieuw -> Java-project
Stap # 5:
beste e-mailtrackingsoftware voor gmail
- Klik met de rechtermuisknop op het project
- Ga naar Build Path-> Build Path configureren
- Schakel over naar het tabblad Bibliotheken
- Klik op de 'Add External Jars' knop en voeg Sikuli-Script.jar toe in het Build Path.
- Klik OK'
Sikuli-script.jar wordt toegevoegd aan het bouwpad van uw project. Je bent klaar. Nu kunt u binnen dit project beginnen met het schrijven van Sikuli-scripts.
Enkele Sikuli-methoden
# 1) Object maken voor schermklasse
Het scherm is een basisklasse van Sikuli. We moeten eerst een object voor deze schermklasse maken, alleen hebben we toegang tot alle methoden die door Sikuli worden geboden.
Syntaxis:
Scherm s = nieuw scherm ();
# 2) Klik op een element
Deze methode wordt gebruikt om op de specifieke afbeelding op het scherm te klikken.
Syntaxis:
s.click ('<>
Bijvoorbeeld,
s.click ('test.png');
# 3) Klik met de rechtermuisknop op een element
Deze methode wordt gebruikt om met de rechtermuisknop op de specifieke afbeelding op het scherm te klikken.
Syntaxis:
s.rightClick ('<>
Bijvoorbeeld,
s.rightClick ('test.png');
# 4) Vind een element
Deze methode wordt gebruikt om een specifiek element op het scherm te vinden.
Syntaxis:
s.find ('<>
Bijvoorbeeld,
s.find ('test.png');
# 5) Dubbelklik op een element
Deze methode wordt gebruikt om een dubbelklikgebeurtenis te activeren op een specifieke afbeelding op het scherm.
Syntaxis:
s.doubleClick ('<>
Bijvoorbeeld,
s.doubleClick ('test.png');
# 6) Controleer of er een element op het scherm aanwezig is
Deze methode wordt gebruikt om te controleren of het opgegeven element op het scherm aanwezig is.
Syntaxis:
s.exists ('<>
Bijvoorbeeld,
s.exists ('test.png');
# 7) Typ een tekenreeks in een tekstvak
Deze methode wordt gebruikt om de opgegeven tekst in het tekstvak in te voeren.
Syntaxis:
s.type ('<>”,” Tekenreeks die moet worden getypt ”);
Bijvoorbeeld,
s.type ('test.png', 'HI !!');
# 8) Draaien op een bepaald beeld
Deze methode wordt gebruikt om een wielactie uit te voeren op de elementafbeelding.
Syntaxis:
s.wheel ('<><><>
Bijvoorbeeld,
s.wheel ('test.png', 25,0);
# 9) Versleep een afbeelding / element
Deze methode wordt gebruikt om een opgegeven afbeelding van de bronpositie naar de doelpositie te slepen en neer te zetten.
Syntaxis:
s.dragDrop (“<><>
Bijvoorbeeld,
s.dragDrop ('test.png', 'test1.png');
# 10) Rol met de muis over een bepaalde afbeelding
Deze methode wordt gebruikt om een roll-hover-gebeurtenis uit te voeren op de opgegeven afbeelding.
Syntaxis:
s.hover ('<>
Bijvoorbeeld,
s.hover ('test.png');
# 11) Plak gekopieerde string
Deze methode wordt gebruikt om tekst in het opgegeven tekstvak te plakken.
Syntaxis:
s.paste ('<>','test');
Bijvoorbeeld,
s.paste ('test.png', 'test');
Sikuli-voorbeelden
# 1) YouTube-video - Pauzeer en speel een video af
Stap 1) Open een YouTube-videolink en leg afspeel- en pauzeer elementafbeeldingen vast met de tool voor schermopname.
Pauzeknop ( Opmerking: bestandsnaam is pause.png)
Afspeelknop ( Opmerking: bestandsnaam is play.png)
Kopieer deze afbeeldingen in het project.
Stap 2) Maak een pakket binnen het gecreëerde Sikuli java-project en maak daarbinnen een klasse met de naam 'Youtube'.
Stap 3) Typ de volgende code in die klasse.
Stap 4) Klik met de rechtermuisknop op de klasse en selecteer Uitvoeren als -> Java-applicatie.
# 2) Open Kladblok en typ wat tekst
Stap 1) Leg het kladblok-pictogram op het bureaublad op het scherm vast.
notepad_icon.png
notepad.png
Stap 2) Kopieer deze afbeeldingen in uw project.
Stap 3) Maak een klasse met de naam 'NotepadExample' in uw project en typ de volgende code.
Stap 4) Open het scherm dat u wilt testen voordat u de code uitvoert.
Voer dit bestand uit door met de rechtermuisknop op Uitvoeren als -> Java-applicatie te klikken.
# 3) Slepen en neerzetten
Stap 1) Maak een screenshot van de vereiste items op het scherm en plaats deze in je Sikuli-project.
Opmerking: hier is het downloadpictogram 'source.png' en de afbeelding van de bloem is 'destination.png')
Stap 2) Zet deze foto's in je project.
Stap # 3) Maak een klasse met de naam 'DragAndDrop' en schrijf de volgende code.
Stap 4) Voer dit script uit door met de rechtermuisknop op Uitvoeren als -> Java-applicatie te klikken.
Na het uitvoeren van dit script, wordt het downloadpictogram naar de afbeelding gesleept en neergezet, aangegeven als een doel.
Voor uitvoering:
Na uitvoering:
Nadelen van deze tool
- We kunnen u niet verzekeren dat de afbeeldingovereenkomst altijd nauwkeurig zal zijn. Soms, als er twee of meer vergelijkbare afbeeldingen op het scherm beschikbaar zijn, zal Sikuli proberen de verkeerde afbeelding te selecteren.
- En als het uiterlijk van de afbeelding varieert in pixelgrootte, zal dit ook resulteren in de uitzondering 'Zoeken mislukt'.
- Overhead van het maken van te veel screenshots.
- Als er een screenshot ontbreekt, heeft dit invloed op de uitvoering van het programma.
Meer middelen:
Gevolgtrekking
Sikuli is erg handig bij het automatiseren van flitsobjecten. Het kan worden gebruikt om op vensters gebaseerde applicaties te automatiseren. Het is een geweldige tool om met elementen op een scherm te spelen, gebaseerd op hun visuals.
Over de auteur: Dit is een gastpost van Anitha Eswari. Momenteel werkt ze als senior test engineer met gedegen kennis van handmatige en automatiseringstesten en diverse testmanagementtools.
Volgende tutorial Laten we in het volgende deel van deze serie eens diep kijken naar het maken van het Sikuli maven-project en hoe Selenium met Sikuli kan worden geïntegreerd.
Gebruikt u deze tool al? Deel alstublieft uw ervaringen en tips. Als u aan de slag wilt maar vragen heeft, laat het ons weten.
Aanbevolen literatuur
- Sikuli GUI Automation Testing Tool - Beginnershandleiding Deel # 2
- 30 beste GUI-testtools voor GUI-testautomatisering (2021 LIST)
- Zie Testautomatisering: een handleiding voor mobiele testautomatiseringstools
- Basisprincipes van Rational Robot leren - IBM Test Automation Tool
- Geb-zelfstudie - Browserautomatiseringstests met Geb Tool
- Handige gratis tool voor schermopname en annotatie voor de testers - qSnap Review
- Katalon Studio-zelfstudie: een gratis testautomatiseringstool waarop u hebt gewacht
- Op Flash gebaseerde applicaties automatiseren met behulp van Sikuli Tool