introduction sikuli gui automation tool sikuli tutorial 1
Com sempre, intentem aportar coses noves per aprendre als nostres lectors. Avui explorem una interessant eina d’automatització de la GUI: Sikuli.
'Automatitzeu tot el que veieu' mitjançant l'eina d'automatització Sikuli Graphical User Interface (GUI) - Guia completa per a principiants a configurar ràpidament i comenceu a utilitzar l'eina Sikuli Script amb aquests tutorials de Sikuli en profunditat.
Sikuli automatitza tot el que veieu a la pantalla mitjançant el mètode de reconeixement d’imatges per identificar elements de la GUI. L'escriptura Sikuli permet als usuaris automatitzar la interacció de la interfície gràfica d'usuari mitjançant captures de pantalla.
Llista de tutorials d'aquesta sèrie Sikuli
Hem dividit aquesta sèrie en 3 parts:
Tutorial # 1: Com funciona, com crear un projecte Sikuli senzill.
Tutorial # 2: Com es pot utilitzar Sikuli amb el controlador web Selenium per automatitzar pàgines web.
Tutorial # 3: Automatització d'aplicacions basades en Flash mitjançant l'eina Sikuli
Què aprendreu:
Eina d’automatització de la interfície gràfica d’usuari de Sikuli
Comencem per la primera part d'aquesta sèrie.
llocs web d'anime per veure l'anime gratuïtament en anglès doblats
Sikuli és una eina per automatitzar les interfícies gràfiques d'usuari (GUI) mitjançant el mètode 'Visual Image Match'. A Sikuli, tots els elements web s’han de prendre com a imatge i emmagatzemar-los dins del projecte. Sikuli desencadenarà interaccions GUI basades en la coincidència visual de la imatge, la imatge que hem passat com a paràmetre juntament amb tots els mètodes.
Sikuli pot ser molt útil per automatitzar objectes flash (que no tenen identificador ni nom). Pot ser útil en la situació en què tenim una GUI estable (és a dir, els components de la GUI no canvien).
Fins i tot les aplicacions basades en Window també es poden automatitzar mitjançant Sikuli. Sikuli proporciona Sikuli-script.jar molt amable, que es pot utilitzar fàcilment juntament amb Selenium WebDriver. Fins i tot podem automatitzar el reproductor d’àudio i vídeo, Flash Games al lloc web mitjançant Sikuli. Amb una API senzilla, facilita la codificació.
Usos pràctics
- Sikuli es pot utilitzar per automatitzar objectes Flash / llocs web Flash.
- Pot ser útil per automatitzar l'aplicació basada en Window. Podem automatitzar el que estem veient a la pantalla.
- Ofereix una API senzilla. és a dir, es pot accedir a tots els mètodes mitjançant objectes de classe de pantalla.
- Es pot integrar fàcilment amb Selenium i totes les altres eines.
- Mitjançant Sikuli podem automatitzar aplicacions d’escriptori.
- La majoria de les eines de proves d’automatització no admeten l’automatització d’objectes flash (p. Ex., Seleni). Sikuli proporciona un ampli suport per automatitzar objectes flash.
- Utilitza un potent mecanisme de 'Visual Match' per automatitzar objectes d'escriptori i flash.
Beneficis
- Eina de codi obert.
- Un dels majors avantatges de Sikuli és que pot automatitzar fàcilment objectes Flash.
- Fàcil automatitzar les aplicacions de Windows.
- Quan proveu una aplicació en desenvolupament i no sabeu l’identificador / nom dels elements, podeu anar amb Sikuli. Comprobarà l’aspecte de la imatge i, si es troba la coincidència, interactuarà amb la imatge en conseqüència.
Requisits previs:
Abans de començar, hem de descarregar i instal·lar el programari següent:
- Qualsevol eina de captura de pantalla ( Per exemple, DuckCapture , o qSnap )
- JDK
- Eclipsi (passos detallats aquí per instal·lar JDK i Eclipse)
Passos per crear el projecte Java Sikuli
Pas 1: descàrrega de Sikuli - Descarregueu Sikuli des de aquí .
Pas 2: Extraieu el fitxer zip que heu baixat. Contindrà el fitxer Sikuli-script.jar. Deseu aquest fitxer extret al vostre sistema de fitxers local.
Pas 3: Obre Eclipsi.
Pas 4: Creeu un projecte Java Fitxer -> Nou -> Projecte Java
Pas 5:
- Feu clic amb el botó dret del ratolí sobre el projecte
- Aneu a Build Path-> Configure Build Path
- Canvieu a la pestanya Biblioteques
- Feu clic al botó 'Afegeix pots externs' i Afegiu Sikuli-Script.jar al camí de construcció.
- Feu clic a 'D'acord'
Sikuli-script.jar s'afegirà al camí de construcció del projecte. Estàs acabat. Ara podeu començar a escriure scripts Sikuli dins d’aquest projecte.
Alguns mètodes Sikuli
# 1) Creació d'objectes per a la classe de pantalla
La pantalla és una classe base proporcionada per Sikuli. Primer hem de crear un objecte per a aquesta classe de pantalla, i després només podem accedir a tots els mètodes proporcionats per Sikuli.
Sintaxi:
Pantalla s = nova pantalla ();
# 2) Feu clic a Un element
Aquest mètode solia fer clic a la imatge específica present a la pantalla.
Sintaxi:
s.click ('<>');
Per exemple,
s.click ('test.png');
# 3) Feu clic amb el botó dret sobre un element
Aquest mètode es feia clic amb el botó dret del ratolí sobre la imatge específica que apareix a la pantalla.
Sintaxi:
s.rightClick ('<>');
Per exemple,
s.rightClick ('test.png');
# 4) Troba un element
Aquest mètode s'utilitza per trobar un element específic present a la pantalla.
Sintaxi:
s.find (“<>');
Per exemple,
s.find ('test.png');
# 5) Feu doble clic a Un element
Aquest mètode s'utilitza per activar un esdeveniment de doble clic en una imatge específica present a la pantalla.
Sintaxi:
s.doubleClick ('<>');
Per exemple,
s.doubleClick ('test.png');
# 6) Comproveu si hi ha un element a la pantalla
Aquest mètode s’utilitza per comprovar si l’element especificat està present a la pantalla.
Sintaxi:
s.exists ('<>');
Per exemple,
s.exists ('test.png');
# 7) Escriviu una cadena en un quadre de text
Aquest mètode s’utilitza per introduir el text especificat al quadre de text.
Sintaxi:
s.type (“<>',' Cadena que cal escriure ');
Per exemple,
s.type ('test.png', 'HI !!');
# 8) Rodar sobre una imatge concreta
Aquest mètode s'utilitza per dur a terme accions de roda sobre la imatge de l'element.
Sintaxi:
s.wheel ('<>',<>,<>);
Per exemple,
s.wheel ('test.png', 25,0);
# 9) Arrossegueu i deixeu anar una imatge / element
Aquest mètode s'utilitza per arrossegar i deixar anar una imatge especificada de la posició d'origen a la posició objectiu.
Sintaxi:
s.dragDrop (“<>','<>');
Per exemple,
s.dragDrop ('test.png', 'test1.png');
# 10) Passeu el cursor per sobre d'una imatge concreta
c # preguntes d’entrevistes per a persones experimentades
Aquest mètode s'utilitza per dur a terme un esdeveniment sobrevol sobre la imatge especificada.
Sintaxi:
s.hover (“<>');
Per exemple,
s.hover ('test.png');
# 11) Enganxa la cadena copiada
Aquest mètode s’utilitza per enganxar text al quadre de text especificat.
Sintaxi:
s.paste ('<>”,” Prova ”);
Per exemple,
s.paste ('test.png', 'test');
Exemples de Sikuli
# 1) Vídeo de YouTube: posa en pausa i reprodueix un vídeo
Pas 1) Obriu un enllaç de vídeo de YouTube i Captureu la reproducció i poseu en pausa imatges d’elements mitjançant l’eina de captura de pantalla.
Botó de pausa ( Nota: el nom del fitxer és pause.png)
Botó Reprodueix ( Nota: el nom del fitxer és play.png)
Copieu aquestes imatges dins del projecte.
Pas 2) Creeu un paquet dins del projecte java de Sikuli creat i dins d’aquest creeu una classe anomenada “Youtube”.
Pas 3) Escriviu el codi següent dins d’aquesta classe.
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 } }
Pas # 4) Feu clic amb el botó dret a la classe seleccioneu Executa com -> Aplicació Java.
# 2) Obriu el bloc de notes i escriviu text
Pas # 1) Captureu la icona del bloc de notes a l'escriptori de la pantalla.
notepad_icon.png
notepad.png
Pas # 2) Copieu aquestes imatges dins del vostre projecte.
Pas 3) Creeu una classe anomenada 'NotepadExample' dins del vostre projecte i escriviu el codi següent.
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!!!!'); } }
Pas 4) Obriu la pantalla que voleu provar abans d'executar el codi.
Executeu aquest fitxer fent clic amb el botó dret a Executa com a -> Aplicació Java.
# 3) Arrossega i deixa anar
Pas 1) Feu la captura de pantalla dels elements necessaris a la pantalla i poseu-la dins del vostre projecte Sikuli.
( Nota: aquí, la icona de baixades és 'source.png' i la imatge de la flor és 'destination.png')
Pas # 2) Poseu aquestes imatges dins del vostre projecte.
Preguntes sobre l'entrevista c ++ pdf
Pas # 3) Creeu una classe amb el nom 'DragAndDrop' i escriviu el codi següent.
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'); } }
Pas # 4) Executeu aquest script fent clic amb el botó dret a Executa com -> Aplicació Java.
Després de l'execució d'aquest script, la icona de baixada s'arrossegarà i deixarà anar la imatge, indicada com a objectiu.
Abans de l'execució:
Després de l'execució:
Inconvenients d'aquesta eina
- No us podem assegurar que la coincidència de la imatge sigui sempre precisa. De vegades, si hi ha disponibles dues o més imatges similars a la pantalla, Sikuli intentarà seleccionar la imatge incorrecta.
- I si l'aparença de la imatge varia en funció de la mida del píxel, també resultarà l'excepció 'No s'ha pogut trobar'.
- Sobrecàrrega de fer massa captures de pantalla.
- Si falta alguna de les captures de pantalla, afectarà l'execució del programa.
Més recursos:
Conclusió
Sikuli és molt útil per automatitzar objectes flash. Es pot utilitzar per automatitzar aplicacions basades en finestres. És una eina fantàstica per jugar amb elements de la pantalla, en funció de les seves imatges.
Sobre l'autor: Aquest és un missatge de convidat d'Anitha Eswari. Actualment treballa com a enginyera de proves sènior, amb un bon coneixement de les proves manuals i d'automatització i diverses eines de gestió de proves.
Pròxim tutorial : A la següent part d’aquesta sèrie, analitzem profundament la creació del projecte Sikuli maven i la manera d’integrar Selenium amb Sikuli.
Ja utilitzeu aquesta eina? Comparteix la teva experiència i consells. Si voleu començar però teniu consultes, feu-nos-ho saber.
Lectura recomanada
- Sikuli GUI Automation Testing Tool: Guia per a principiants, part 2
- 30 millors eines de prova GUI per a l'automatització de proves GUI (LLISTA 2021)
- Veure tutorial d’automatització: una guia d’eines d’automatització de proves mòbils
- Conceptes bàsics d’aprenentatge del robot racional: eina d’automatització d’IBM
- Tutorial Geb: proves d'automatització del navegador mitjançant l'eina Geb
- Eina útil d’anotació i captura de pantalla gratuïta per als verificadors: revisió de qSnap
- Tutorial Katalon Studio: una eina gratuïta d'automatització de proves que heu estat esperant
- Automatització d'aplicacions basades en Flash mitjançant l'eina Sikuli