introduction sikuli gui automation tool sikuli tutorial 1
Come sempre, cerchiamo di portare nuove cose da imparare per i nostri lettori. Oggi esploriamo un interessante strumento di automazione della GUI: Sikuli.
'Automatizza tutto ciò che vedi' utilizzando lo strumento di automazione dell'interfaccia utente grafica (GUI) Sikuli - Guida completa per principianti configurazione rapida e iniziare a utilizzare lo strumento Sikuli Script con questi approfonditi tutorial Sikuli.
Sikuli automatizza tutto ciò che vedi sullo schermo utilizzando il metodo di riconoscimento delle immagini per identificare gli elementi della GUI. Lo script Sikuli consente agli utenti di automatizzare l'interazione GUI utilizzando screenshot.
Elenco dei tutorial in questa serie Sikuli
java come creare un elenco
Abbiamo diviso questa serie in 3 parti:
Tutorial n. 1: Come funziona, come creare un semplice progetto Sikuli.
Tutorial n. 2: Come Sikuli può essere utilizzato con Selenium Web Driver per automatizzare le pagine web.
Tutorial n. 3: Automatizzazione di applicazioni basate su Flash utilizzando Sikuli Tool
Cosa imparerai:
Sikuli GUI Automation Tool
Cominciamo con la prima parte di questa serie.
Sikuli è uno strumento per automatizzare le interfacce utente grafiche (GUI) utilizzando il metodo 'Visual Image Match'. In Sikuli, tutti gli elementi web dovrebbero essere presi come un'immagine e archiviati all'interno del progetto. Sikuli attiverà le interazioni GUI in base alla corrispondenza visiva dell'immagine, l'immagine che abbiamo passato come parametro insieme a tutti i metodi.
Sikuli può essere molto utile per automatizzare gli oggetti flash (che non hanno ID o nome). Può essere utile nella situazione in cui abbiamo una GUI stabile (cioè i componenti della GUI non cambiano).
Anche le applicazioni basate su Windows possono essere automatizzate utilizzando Sikuli. Sikuli fornisce Sikuli-script.jar molto amichevole, che può essere facilmente utilizzato insieme a Selenium WebDriver. Possiamo persino automatizzare Adobe Video / Audio player, Flash Games sul sito web utilizzando Sikuli. Con una semplice API, semplifica la codifica.
Usi pratici
- Sikuli può essere utilizzato per automatizzare oggetti Flash / siti Web Flash.
- Può essere utile per automatizzare l'applicazione basata su Windows. Possiamo automatizzare ciò che vediamo sullo schermo.
- Fornisce API semplici. cioè è possibile accedere a tutti i metodi utilizzando oggetti di classe dello schermo.
- Può essere facilmente integrato con Selenium e tutti gli altri strumenti.
- Usando Sikuli possiamo automatizzare le applicazioni desktop.
- La maggior parte degli strumenti di test dell'automazione non supporterà l'automazione di oggetti flash (ad esempio Selenium). Sikuli fornisce un ampio supporto per automatizzare gli oggetti flash.
- Utilizza un potente meccanismo 'Visual Match' per automatizzare desktop e oggetti flash.
Benefici
- Strumento open source.
- Uno dei maggiori vantaggi di Sikuli è che può automatizzare facilmente gli oggetti Flash.
- Rende facile automatizzare l'applicazione Windows.
- Quando stai testando un'applicazione in fase di sviluppo e non conosci l'ID / nome degli elementi, puoi andare con Sikuli. Controllerà l'aspetto dell'immagine e se la corrispondenza viene trovata, interagirà di conseguenza con l'immagine.
Prerequisiti:
Prima di iniziare, dobbiamo scaricare e installare il seguente software:
- Qualsiasi strumento di cattura degli screenshot ( Per esempio, DuckCapture , o qSnap )
- JDK
- Eclipse (passaggi dettagliati Qui per installare JDK ed Eclipse)
Passaggi per creare il progetto Java Sikuli
Passaggio 1: download di Sikuli - Scarica Sikuli da Qui .
Passo 2: Estrai il file zip che hai scaricato. Conterrà il file Sikuli-script.jar. Salva questo file estratto nel tuo file system locale.
Passaggio 3: Apri Eclipse.
Passaggio 4: Crea un file di progetto Java -> Nuovo -> Progetto Java
Passaggio 5:
- Fare clic con il tasto destro sul progetto
- Vai a Build Path-> Configure Build Path
- Passa alla scheda Librerie
- Fare clic sul pulsante 'Add External Jars' e aggiungere Sikuli-Script.jar nel percorso di compilazione.
- Fai clic su 'Ok'
Sikuli-script.jar verrà aggiunto al percorso di compilazione del progetto. Hai finito. Ora puoi iniziare a scrivere script Sikuli all'interno di questo progetto.
Alcuni metodi Sikuli
# 1) Creazione di oggetti per la classe Screen
Lo schermo è una classe base fornita da Sikuli. Prima dobbiamo creare un oggetto per questa classe dello schermo, quindi solo noi possiamo accedere a tutti i metodi forniti da Sikuli.
Sintassi:
Schermo s = nuovo schermo ();
# 2) Fare clic su un elemento
Questo metodo consente di fare clic sull'immagine specifica presente sullo schermo.
Sintassi:
s.click ('<>');
Per esempio,
s.click ('test.png');
# 3) Fare clic con il pulsante destro del mouse su un elemento
Questo metodo è utilizzato per fare clic con il pulsante destro del mouse sull'immagine specifica presente sullo schermo.
Sintassi:
s.rightClick ('<>');
Per esempio,
s.rightClick ('test.png');
# 4) Trova un elemento
Questo metodo è utilizzato per trovare un elemento specifico presente sullo schermo.
Sintassi:
s.find ('<>');
Per esempio,
s.find ('test.png');
# 5) Doppio clic su un elemento
Questo metodo è utilizzato per attivare un evento di doppio clic su un'immagine specifica presente sullo schermo.
Sintassi:
s.doubleClick ('<>');
Per esempio,
s.doubleClick ('test.png');
# 6) Controlla se un elemento è presente sullo schermo
Questo metodo viene utilizzato per verificare se l'elemento specificato è presente sullo schermo.
Sintassi:
s. esiste ('<>');
Per esempio,
s.exists ('test.png');
# 7) Digita una stringa in una casella di testo
Questo metodo viene utilizzato per immettere il testo specificato nella casella di testo.
Sintassi:
s.type ('<>',' Stringa da digitare ');
Per esempio,
s.type ('test.png', 'HI !!');
# 8) Ruotando su un'immagine particolare
Questo metodo viene utilizzato per eseguire un'azione di rotazione sull'immagine dell'elemento.
Sintassi:
s.wheel ('<>',<>,<>);
Per esempio,
s.wheel ('test.png', 25,0);
# 9) Trascina e rilascia un'immagine / elemento
Questo metodo viene utilizzato per trascinare e rilasciare un'immagine specificata dalla posizione di origine alla posizione di destinazione.
Sintassi:
s.dragDrop ('<>','<>');
Per esempio,
s.dragDrop ('test.png', 'test1.png');
# 10) Passa il mouse su un'immagine particolare
cosa devo fare con un file torrent
Questo metodo viene utilizzato per eseguire un evento di passaggio del mouse sull'immagine specificata.
Sintassi:
s.hover ('<>');
Per esempio,
s.hover ('test.png');
# 11) Incolla la stringa copiata
Questo metodo è utilizzato per incollare il testo nella casella di testo specificata.
Sintassi:
s.paste ('<>','test');
Per esempio,
s.paste ('test.png', 'test');
Esempi di Sikuli
# 1) Video di YouTube - Metti in pausa e riproduci un video
Passo 1) Apri un collegamento video di YouTube e acquisisci riproduci e metti in pausa le immagini degli elementi utilizzando lo strumento di cattura dello schermo.
Pulsante Pausa ( Nota: il nome del file è pause.png)
Pulsante Riproduci ( Nota: il nome del file è play.png)
Copia queste immagini all'interno del progetto.
Passo 2) Creare un pacchetto all'interno del progetto java Sikuli creato e all'interno di questo creare una classe denominata 'Youtube'.
Passaggio 3) Digita il codice seguente all'interno di quella 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 } }
Passo # 4) Fare clic con il tasto destro sulla classe selezionare Esegui come -> Applicazione Java.
# 2) Apri Blocco note e digita del testo
Passo # 1) Cattura l'icona del blocco note sul desktop sullo schermo.
notepad_icon.png
notepad.png
Passo # Due) Copia queste immagini all'interno del tuo progetto.
Passaggio 3) Crea una classe denominata 'NotepadExample' all'interno del tuo progetto e digita il codice seguente.
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!!!!'); } }
Passaggio 4) Aprire la schermata da testare prima di eseguire il codice.
Esegui questo file facendo clic con il pulsante destro del mouse su Esegui come -> Applicazione Java.
# 3) Trascina e rilascia
Passo 1) Cattura lo screenshot degli elementi richiesti sullo schermo e inseriscilo nel tuo progetto Sikuli.
( Nota: qui, l'icona dei download è 'source.png' e l'immagine del fiore è 'destination.png')
Passo # Due) Metti queste immagini nel tuo progetto.
Passo # 3) Crea una classe con il nome 'DragAndDrop' e scrivi il codice seguente.
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'); } }
Passo # 4) Esegui questo script facendo clic con il pulsante destro del mouse su Esegui come -> Applicazione Java.
Dopo l'esecuzione di questo script, l'icona di download verrà trascinata e rilasciata sull'immagine, indicata come target.
Prima dell'esecuzione:
Dopo l'esecuzione:
Inconvenienti di questo strumento
- Non possiamo assicurarti che la corrispondenza dell'immagine sarà sempre accurata. A volte, se due o più immagini simili sono disponibili sullo schermo, Sikuli tenterà di selezionare l'immagine sbagliata.
- E se l'aspetto dell'immagine varia in termini di dimensioni in pixel, si verificherà anche l'eccezione 'Ricerca non riuscita'.
- Sovraccarico di acquisire troppi screenshot.
- Se manca uno screenshot, influirà sull'esecuzione del programma.
Più risorse:
Conclusione
Sikuli è molto utile per automatizzare gli oggetti flash. Può essere utilizzato per automatizzare le applicazioni basate su finestre. È un ottimo strumento per giocare con gli elementi su uno schermo, in base alle loro immagini.
Circa l'autore: Questo è un guest post di Anitha Eswari. Attualmente lavora come ingegnere di test senior con una solida conoscenza dei test manuali e di automazione e di vari strumenti di gestione dei test.
Tutorial successivo : Nella parte successiva di questa serie diamo uno sguardo approfondito alla creazione del progetto Sikuli maven e a come integrare il selenio con Sikuli.
Utilizzi già questo strumento? Per favore condividi la tua esperienza e i tuoi suggerimenti. Se vuoi iniziare ma hai delle domande faccelo sapere.
Lettura consigliata
- Sikuli GUI Automation Testing Tool - Guida per principianti Parte n. 2
- 30 migliori strumenti di test GUI per l'automazione dei test GUI (2021 LIST)
- SeeTest Automation Tutorial: A Mobile Test Automation Tool Guide
- Nozioni di base sull'apprendimento di Rational Robot - IBM Test Automation Tool
- Tutorial Geb - Test dell'automazione del browser utilizzando lo strumento Geb
- Utile strumento gratuito per la cattura dello schermo e l'annotatore per i tester: qSnap Review
- Tutorial di Katalon Studio: uno strumento gratuito di automazione del test che stavi aspettando
- Automatizzazione di applicazioni basate su Flash utilizzando Sikuli Tool