introduction sikuli gui automation tool sikuli tutorial 1
Som alltid prøver vi å få inn nye ting å lære for leserne våre. I dag skal vi utforske et interessant GUI-automatiseringsverktøy - Sikuli.
“Automatiser alt du ser” ved hjelp av Sikuli Graphic User Interface (GUI) automatiseringsverktøy - Komplett nybegynnerveiledning til raskt sette opp og begynn å bruke Sikuli Script-verktøyet med disse grundige Sikuli-opplæringene.
Sikuli Automatiserer alt du ser på skjermen ved hjelp av bildegjenkjenningsmetoden for å identifisere GUI-elementer. Sikuli-skript lar brukerne automatisere GUI-interaksjon ved å bruke skjermbilder.
Liste over opplæringsprogrammer i denne Sikuli-serien
Vi har delt denne serien i 3 deler:
Opplæring # 1: Hvordan det fungerer, hvordan lage et enkelt Sikuli-prosjekt.
Opplæring nr. 2: Hvordan Sikuli kan brukes med Selenium Driver for å automatisere websider.
Opplæring # 3: Automatisering av Flash-baserte applikasjoner ved hjelp av Sikuli Tool
Hva du vil lære:
Sikuli GUI Automation Tool
La oss starte med 1. del av denne serien.
Sikuli er et verktøy for å automatisere grafiske brukergrensesnitt (GUI) ved hjelp av 'Visual Image Match' -metoden. I Sikuli bør alle webelementene tas som et bilde og lagres inne i prosjektet. Sikuli vil utløse GUI-interaksjoner basert på bildets visuelle samsvar, bildet vi har sendt som parameter sammen med alle metoder.
Sikuli kan være veldig nyttig for å automatisere flash-objekter (som ikke har ID eller navn). Det kan være nyttig i situasjonen der vi har en stabil GUI (dvs. GUI-komponenter endres ikke).
Selv vindusbaserte applikasjoner kan også automatiseres ved hjelp av Sikuli. Sikuli gir veldig vennlig Sikuli-script.jar, som enkelt kan brukes sammen med Selen WebDriver. Vi kan til og med automatisere Adobe Video / Audio Player, Flash Games på nettstedet ved hjelp av Sikuli. Med enkel API gjør det kodingen enklere.
Praktiske bruksområder
- Sikuli kan brukes til å automatisere Flash-objekter / Flash-nettsteder.
- Det kan være nyttig å automatisere det vindusbaserte programmet. Vi kan automatisere det vi ser på skjermen.
- Det gir enkel API. dvs. alle metodene er tilgjengelige ved hjelp av skjermklasseobjekter.
- Den kan enkelt integreres med Selenium og alle andre verktøy.
- Ved hjelp av Sikuli kan vi automatisere stasjonære applikasjoner.
- De fleste av testverktøyene for automatisering støtter ikke automatisering av flash-objekter (f.eks. Selen). Sikuli gir omfattende støtte for å automatisere flash-objekter.
- Den bruker en kraftig 'Visual Match' -mekanisme for å automatisere skrivebords- og flashobjekter.
fordeler
- Åpen kildekodeverktøy.
- En av de største fordelene med Sikuli er at den enkelt kan automatisere Flash-objekter.
- Det gjør det enkelt å automatisere Windows-applikasjonen.
- Når du tester et program under utvikling og du ikke vet ID / navn på elementene, kan du gå med Sikuli. Det vil sjekke utseendet til bildet, og hvis samsvaret ble funnet, vil det samhandle med bildet deretter.
Forutsetninger:
Før vi begynner, må vi laste ned og installere følgende programvare:
- Ethvert verktøy for å fange skjermbilder ( For eksempel, DuckCapture , eller qSnap )
- JDK
- Formørkelse (detaljerte trinn her for å installere JDK og Eclipse)
Trinn for å lage Sikuli Java-prosjektet
Trinn 1: Sikuli Last ned - Last ned Sikuli fra her .
Steg 2: Pakk ut zip-filen du har lastet ned. Den inneholder Sikuli-script.jar-filen. Lagre denne ekstraherte filen i det lokale filsystemet.
Trinn 3: Åpne formørkelse.
kravsporbarhetsmatrismal med eksempel
Trinn 4: Opprett et java-prosjekt File -> New -> Java Project
Trinn 5:
- Høyreklikk på prosjektet
- Gå til Build Path-> Configure Build Path
- Bytt til Biblioteker-fanen
- Klikk på knappen 'Legg til eksterne krukker' og legg til Sikuli-Script.jar i byggestien.
- Klikk 'OK'
Sikuli-script.jar vil bli lagt til prosjektbygningsstien din. Du er ferdig. Nå kan du begynne å skrive Sikuli-skript inne i dette prosjektet.
Noen Sikuli-metoder
# 1) Opprette objekt for skjermklasse
Skjermen er en basisklasse levert av Sikuli. Vi trenger å lage et objekt for denne skjermklassen først, så bare vi kan få tilgang til alle metodene som tilbys av Sikuli.
Syntaks:
Skjerm s = ny Skjerm ();
# 2) Klikk på et element
Denne metoden brukes til å klikke på det spesifikke bildet som er tilstede på skjermen.
Syntaks:
s.click (“<>”);
For eksempel,
s.click (“test.png”);
# 3) Høyreklikk på et element
Denne metoden brukes til å høyreklikke på det spesifikke bildet som er tilstede på skjermen.
Syntaks:
s.rightClick (“<>”);
For eksempel,
s.rightClick (“test.png”);
# 4) Finn et element
Denne metoden ble brukt til å finne et bestemt element på skjermen.
Syntaks:
s.find (“<>”);
For eksempel,
s.find (“test.png”);
# 5) Dobbeltklikk på et element
Denne metoden brukes til å utløse en dobbeltklikkshendelse på et bestemt bilde som er tilstede på skjermen.
Syntaks:
s.doubleClick (“<>”);
For eksempel,
s.doubleClick (“test.png”);
# 6) Sjekk om et element er tilstede på skjermen
Denne metoden brukes til å sjekke om det angitte elementet er til stede på skjermen.
Syntaks:
s.eksisterer (“<>”);
For eksempel,
s.eksisterer (“test.png”);
# 7) Skriv en streng i en tekstboks
Denne metoden brukes til å legge inn den spesifiserte teksten i tekstboksen.
Syntaks:
s.type (“<>”,” String som skal skrives ”);
For eksempel,
s.type (“test.png”, “HI !!”);
# 8) Wheeling på et bestemt bilde
Denne metoden brukes til å utføre hjulhandling på elementbildet.
Syntaks:
s.wheel (“<>”,<>,<>);
For eksempel,
s.wheel (“test.png”, 25,0);
# 9) Dra og slipp et bilde / element
Denne metoden brukes til å dra og slippe et spesifisert bilde fra kildeposisjon til målposisjon.
Syntaks:
s.dragDrop (“<>','<>”);
For eksempel,
s.dragDrop ('test.png', 'test1.png');
# 10) Rull musepekeren på et bestemt bilde
Denne metoden brukes til å utføre roll hover-hendelse på det angitte bildet.
Syntaks:
s.hover (“<>”);
For eksempel,
s.hover (“test.png”);
# 11) Lim inn kopiert streng
Denne metoden ble brukt til å lime inn tekst i den angitte tekstboksen.
Syntaks:
s.paste (“<>','test');
For eksempel,
s.paste (“test.png”, “test”);
Sikuli Eksempler
# 1) YouTube-video - Sett en video på pause
Trinn 1) Åpne en YouTube-videolink og ta opp avspilling og pause elementbilder ved hjelp av skjermbildet.
Pause-knapp ( Merk: filnavnet er pause.png)
Spill av-knapp ( Merk: filnavn er play.png)
Kopier disse bildene inne i prosjektet.
Steg 2) Lag en pakke inne i Sikuli java-prosjektet som er opprettet, og opprett en klasse med navnet “Youtube”.
Trinn 3) Skriv inn følgende kode i den klassen.
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 } }
Steg # 4) Høyreklikk på klassen og velg Kjør som -> Java-applikasjon.
# 2) Åpne Notisblokk og skriv inn tekst
Steg # 1) Ta notisblokkikonet på skrivebordet på skjermen.
notepad_icon.png
notepad.png
Steg # to) Kopier disse bildene i prosjektet ditt.
Trinn 3) Lag en klasse med navnet 'NotepadExample' inne i prosjektet og skriv inn følgende kode.
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!!!!'); } }
Trinn 4) Åpne skjermen som skal testes før du utfører koden.
Utfør denne filen ved å høyreklikke på Kjør som -> Java-applikasjon.
grunnleggende java-programmer spurt i intervjuer pdf
# 3) Dra og slipp
Trinn 1) Ta skjermbildet av de nødvendige elementene på skjermen, og legg det i Sikuli-prosjektet ditt.
( Merk: her er nedlastingsikonet 'source.png' og blomsterbildet er 'destination.png')
Steg # to) Sett disse bildene i prosjektet ditt.
Steg # 3) Lag en klasse med navnet “DragAndDrop” og skriv følgende kode.
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'); } }
Steg # 4) Utfør dette skriptet ved å høyreklikke på Kjør som -> Java-applikasjonen.
Etter utførelsen av dette skriptet, vil nedlastingsikonet bli dratt og sluppet på bildet, angitt som et mål.
Før henrettelse:
Etter henrettelse:
Ulemper med dette verktøyet
- Vi kan ikke forsikre deg om at samsvaret med bildet alltid vil være nøyaktig. Noen ganger, hvis to eller flere lignende bilder er tilgjengelige på skjermen, vil Sikuli prøve å velge feil bilde.
- Og hvis utseendet på bildet varierer i pikselstørrelse, vil det også resultere i unntaket 'Finn mislyktes'.
- Overhead for å ta for mange skjermbilder.
- Hvis noen av skjermbildet mangler, vil det påvirke gjennomføringen av programmet.
Flere ressurser:
Konklusjon
Sikuli er veldig nyttig i automatisering av flash-objekter. Den kan brukes til å automatisere vindusbaserte applikasjoner. Det er et flott verktøy for å leke med elementer på en skjerm, basert på det visuelle.
Om forfatteren: Dette er et gjestepost av Anitha Eswari. Hun jobber for tiden som senior testingeniør med god kunnskap om manuell og automatiseringstesting og forskjellige testadministrasjonsverktøy.
Neste opplæring : I den neste delen av denne serien, la oss se nærmere på hvordan du lager Sikuli maven-prosjektet og hvordan vi kan integrere Selen med Sikuli.
Bruker du allerede dette verktøyet? Vennligst del din erfaring og tips. Hvis du vil komme i gang, men har spørsmål, gi oss beskjed.
Anbefalt lesing
- Sikuli GUI Automation Testing Tool - Beginner's Guide Part # 2
- 30 beste GUI-testverktøy for GUI-testautomatisering (2021 LIST)
- SeeTest Automation Tutorial: A Mobile Test Automation Tool Guide
- Læringsgrunnlag for rasjonell robot - IBM Test Automation Tool
- Geb Tutorial - Browser Automation Testing Using Geb Tool
- Nyttig gratis skjermopptak og kommentatorverktøy for testerne - qSnap Review
- Katalon Studio Tutorial: Et gratis testautomatiseringsverktøy du har ventet på
- Automatisering av Flash-baserte applikasjoner ved hjelp av Sikuli Tool