introduction sikuli gui automation tool sikuli tutorial 1
Ca întotdeauna, încercăm să aducem lucruri noi de învățat pentru cititorii noștri. Astăzi să explorăm un instrument interesant de automatizare GUI - Sikuli.
„Automatizați orice vedeți” utilizând instrumentul de automatizare Sikuli Graphical User Interface (GUI) - Ghid complet pentru începători la repede înființat și începeți să utilizați instrumentul Sikuli Script cu aceste tutoriale Sikuli aprofundate.
Sikuli automatizează orice vedeți pe ecran folosind metoda de recunoaștere a imaginilor pentru a identifica elementele GUI. Scriptul Sikuli permite utilizatorilor să automatizeze interacțiunea GUI utilizând capturi de ecran.
Lista tutorialelor din această serie Sikuli
Am împărțit această serie în 3 părți:
Tutorial nr. 1: Cum funcționează, cum se creează un proiect Sikuli simplu.
Tutorial nr. 2: Cum poate fi utilizat Sikuli cu driverul Selenium Web pentru automatizarea paginilor web.
Tutorial nr. 3: Automatizarea aplicațiilor bazate pe Flash folosind instrumentul Sikuli
Ce veți învăța:
Instrument de automatizare Sikuli GUI
Să începem cu prima parte a acestei serii.
Sikuli este un instrument de automatizare a interfețelor grafice de utilizator (GUI) folosind metoda „Visual Image Match”. În Sikuli, toate elementele web trebuie luate ca imagine și stocate în interiorul proiectului. Sikuli va declanșa interacțiuni GUI bazate pe potrivirea vizuală a imaginii, imaginea pe care am trecut-o ca parametru împreună cu toate metodele.
Sikuli poate fi foarte util pentru automatizarea obiectelor flash (care nu au ID sau nume). Poate fi util în situația în care avem o GUI stabilă (adică componentele GUI nu se schimbă).
Chiar și aplicațiile bazate pe ferestre pot fi, de asemenea, automatizate folosind Sikuli. Sikuli oferă Sikuli-script.jar foarte prietenos, care poate fi utilizat cu ușurință împreună cu Selenium WebDriver. Putem chiar să automatizăm Adobe Video / Audio player, Flash Games pe site folosind Sikuli. Cu API-ul simplu, facilitează codarea.
Utilizări practice
- Sikuli poate fi folosit pentru automatizarea obiectelor Flash / site-urilor Flash.
- Poate fi util să automatizați aplicația bazată pe Window. Putem automatiza ceea ce vedem pe ecran.
- Oferă un API simplu. adică toate metodele pot fi accesate folosind obiecte de clasă ecran.
- Poate fi ușor integrat cu Selenium și toate celelalte instrumente.
- Folosind Sikuli putem automatiza aplicații desktop.
- Majoritatea instrumentelor de testare a automatizării nu vor accepta automatizarea obiectelor flash (de exemplu, seleniu). Sikuli oferă suport extins pentru automatizarea obiectelor flash.
- Folosește un mecanism puternic „Visual Match” pentru a automatiza obiectele desktop și flash.
Beneficii
- Instrument open-source.
- Unul dintre cele mai mari avantaje ale Sikuli este că poate automatiza cu ușurință obiecte Flash.
- Fac automat automatizarea aplicațiilor Windows.
- Când testați o aplicație în curs de dezvoltare și nu cunoașteți ID-ul / numele elementelor, atunci puteți merge cu Sikuli. Acesta va verifica aspectul imaginii și, dacă se găsește potrivirea, va interacționa cu imaginea în consecință.
Condiții preliminare:
Înainte de a începe, trebuie să descărcăm și să instalăm următorul software:
- Orice instrument de capturare a capturilor de ecran ( De exemplu, DuckCapture , sau qSnap )
- JDK
- Eclipse (pași detaliați Aici pentru a instala JDK și Eclipse)
Pași pentru a crea proiectul Java Sikuli
Pasul 1: Descărcați Sikuli - Descărcați Sikuli din Aici .
Pasul 2: Extrageți fișierul zip pe care l-ați descărcat. Acesta va conține fișierul Sikuli-script.jar. Salvați acest fișier extras în sistemul de fișiere local.
Pasul 3: Deschide Eclipse.
Pasul 4: Creați un proiect java Fișier -> Nou -> Proiect Java
Pasul 5:
- Faceți clic dreapta pe proiect
- Accesați Build Build-> Configure Build Path
- Comutați la fila Biblioteci
- Faceți clic pe butonul „Adăugați borcane externe” și adăugați Sikuli-Script.jar în calea de construire.
- Faceți clic pe „Ok”
Sikuli-script.jar va fi adăugat la calea de construire a proiectului. Ați terminat. Acum puteți începe să scrieți scripturi Sikuli în cadrul acestui proiect.
Câteva metode Sikuli
# 1) Crearea obiectului pentru clasa de ecran
Ecranul este o clasă de bază oferită de Sikuli. Mai întâi trebuie să creăm un obiect pentru această clasă de ecran, apoi numai noi putem accesa toate metodele furnizate de Sikuli.
Sintaxă:
Ecran s = Ecran nou ();
# 2) Faceți clic pe un element
Această metodă a făcut clic pe imaginea specifică prezentă pe ecran.
Sintaxă:
s.click („<>”);
De exemplu,
s.click („test.png”);
# 3) Faceți clic dreapta pe un element
Această metodă a făcut clic dreapta pe imaginea specifică prezentă pe ecran.
Sintaxă:
s.rightClick („<>”);
De exemplu,
s.rightClick („test.png”);
care dintre următoarele oferă un program la distanță care arată și se simte ca o aplicație locală?
# 4) Găsiți un element
Această metodă utilizată pentru a găsi un anumit element prezent pe ecran.
Sintaxă:
s.find („<>”);
De exemplu,
s.find („test.png”);
# 5) Faceți dublu clic pe Un element
Această metodă utilizată pentru a declanșa un eveniment cu dublu clic pe o anumită imagine prezentă pe ecran.
Sintaxă:
s.doubleClick („<>”);
De exemplu,
s.doubleClick („test.png”);
# 6) Verificați dacă un element este prezent pe ecran
Această metodă este utilizată pentru a verifica dacă elementul specificat este prezent pe ecran.
Sintaxă:
s. există („<>”);
De exemplu,
s.exists („test.png”);
# 7) Tastați un șir pe o casetă text
Această metodă este utilizată pentru a introduce textul specificat în caseta Text.
Sintaxă:
s.type („<>”,” Șirul de tastat ”);
De exemplu,
s.type („test.png”, „HI !!”);
# 8) Rotirea pe o anumită imagine
Această metodă este utilizată pentru a efectua acțiunea cu roți asupra imaginii elementului.
Sintaxă:
roată („<>”,<>,<>);
De exemplu,
s.wheel („test.png”, 25,0);
# 9) Trageți și fixați o imagine / un element
Această metodă este utilizată pentru a trage și plasa o imagine specificată din poziția sursă în poziția țintă.
Sintaxă:
s.dragDrop („<>','<>”);
De exemplu,
s.dragDrop („test.png”, „test1.png”);
# 10) Plasați cursorul pe o anumită imagine
Această metodă este utilizată pentru a efectua evenimentul de trecere cu mouse-ul pe imaginea specificată.
Sintaxă:
s.hover („<>”);
De exemplu,
s.hover („test.png”);
# 11) Inserați șirul copiat
Această metodă a fost folosită pentru a lipi text în caseta de text specificată.
trecerea matricei la metodă în java
Sintaxă:
pastă („<>','Test');
De exemplu,
s.paste („test.png”, „test”);
Exemple Sikuli
# 1) Video YouTube - Întrerupeți și redați un videoclip
Pasul 1) Deschideți un link video YouTube și capturați redarea și întrerupeți imaginile elementelor folosind instrumentul de captare a ecranului.
Buton Pauză ( Notă: numele fișierului este pause.png)
Buton redare ( Notă: numele fișierului este play.png)
Copiați aceste imagini în interiorul proiectului.
Pasul 2) Creați un pachet în cadrul proiectului Sikuli java creat și în cadrul acestuia creați o clasă numită „Youtube”.
Pasul 3) Tastați următorul cod în cadrul acelei clase.
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 } }
Etapa # 4) Faceți clic dreapta pe clasa selectați Run As -> Java Application.
# 2) Deschideți Notepad și introduceți text
Etapa # 1) Capturați pictograma Notepad de pe desktop pe ecran.
notepad_icon.png
notepad.png
Etapa # Două) Copiați aceste imagini în interiorul proiectului dvs.
Pasul 3) Creați o clasă numită „NotepadExample” în cadrul proiectului dvs. și tastați următorul cod.
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!!!!'); } }
Pasul 4) Deschideți ecranul care urmează să fie testat înainte de a executa codul.
Executați acest fișier făcând clic dreapta pe Executare ca -> Aplicație Java.
# 3) Glisați și fixați
Pasul 1) Faceți captura de ecran a elementelor necesare pe ecran și introduceți-o în proiectul dvs. Sikuli.
( Notă: aici, pictograma de descărcare este „source.png”, iar imaginea florii este „destination.png”)
Etapa # Două) Puneți aceste imagini în proiectul dvs.
Etapa # 3) Creați o clasă cu numele „DragAndDrop” și scrieți următorul cod.
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'); } }
Etapa # 4) Executați acest script făcând clic dreapta pe Executare ca -> Aplicație Java.
După executarea acestui script, pictograma de descărcare va fi trasă și plasată pe imagine, indicată ca țintă.
Înainte de executare:
După executare:
Dezavantaje ale acestui instrument
- Nu vă putem asigura că potrivirea imaginii va fi întotdeauna exactă. Uneori, dacă două sau mai multe imagini similare sunt disponibile pe ecran, Sikuli va încerca să selecteze imaginea greșită.
- Și dacă aspectul imaginii variază în funcție de dimensiunea pixelilor, va rezulta și excepția „Găsire nereușită”.
- Funcția de a face prea multe capturi de ecran.
- Dacă lipsește cineva din captura de ecran, aceasta va afecta execuția programului.
Mai multe resurse:
Concluzie
Sikuli este foarte util în automatizarea obiectelor flash. Poate fi folosit pentru automatizarea aplicațiilor bazate pe ferestre. Este un instrument excelent pentru a vă juca cu elemente de pe ecran, pe baza vizualului lor.
Despre autor: Acesta este un post de invitat de Anitha Eswari. În prezent lucrează ca inginer senior de testare, având cunoștințe solide de testare manuală și de automatizare și diverse instrumente de gestionare a testelor.
Următorul tutorial : În următoarea parte a acestei serii să aruncăm o privire profundă la crearea proiectului Sikuli maven și la modul de integrare a seleniului cu Sikuli.
Folosiți deja acest instrument? Vă rugăm să împărtășiți experiența și sfaturile dvs. Dacă doriți să începeți, dar aveți întrebări, anunțați-ne.
Lectură recomandată
- Instrument de testare a automatizării GUI Sikuli - Ghid pentru începători Partea # 2
- Cele mai bune 30 de instrumente de testare GUI pentru automatizarea testelor GUI (LISTA 2021)
- Vedeți tutorialul de automatizare a testelor: un ghid al instrumentului de automatizare a testelor mobile
- Învățarea elementelor de bază ale robotului rațional - Instrument de automatizare a testelor IBM
- Tutorial Geb - Testarea automatizării browserului folosind instrumentul Geb
- Instrument util gratuit de capturare a ecranului și de adnotare pentru testeri - qSnap Review
- Tutorial Katalon Studio: un instrument gratuit de automatizare a testelor pe care l-ați așteptat
- Automatizarea aplicațiilor bazate pe Flash folosind instrumentul Sikuli