introduction sikuli gui automation tool sikuli tutorial 1
Όπως πάντα προσπαθούμε να φέρουμε νέα πράγματα για να μάθουμε για τους αναγνώστες μας. Σήμερα ας εξερευνήσουμε ένα ενδιαφέρον εργαλείο αυτοματισμού GUI - Sikuli.
'Αυτοματοποιήστε οτιδήποτε βλέπετε' χρησιμοποιώντας το εργαλείο αυτοματισμού Sikuli Graphical User Interface (GUI) - Πλήρης οδηγός για αρχάριους γρήγορα δημιουργήθηκε και αρχίστε να χρησιμοποιείτε το εργαλείο Sikuli Script με αυτά τα σε βάθος μαθήματα Sikuli.
Το Sikuli Αυτοματοποιεί οτιδήποτε βλέπετε στην οθόνη χρησιμοποιώντας τη μέθοδο αναγνώρισης εικόνας για τον προσδιορισμό στοιχείων GUI. Το σενάριο Sikuli επιτρέπει στους χρήστες να αυτοματοποιήσουν την αλληλεπίδραση GUI χρησιμοποιώντας στιγμιότυπα οθόνης.
Λίστα μαθημάτων σε αυτήν τη σειρά Sikuli
Διαχωρίσαμε αυτήν τη σειρά σε 3 μέρη:
Εκμάθηση # 1: Πώς λειτουργεί, Πώς να δημιουργήσετε ένα απλό έργο Sikuli.
Εκμάθηση # 2: Πώς μπορεί να χρησιμοποιηθεί το Sikuli με πρόγραμμα οδήγησης ιστού Selenium για την αυτοματοποίηση ιστοσελίδων.
Εκμάθηση # 3: Αυτοματοποίηση εφαρμογών με βάση το Flash χρησιμοποιώντας το εργαλείο Sikuli
Τι θα μάθετε:
Εργαλείο αυτοματισμού Sikuli GUI
Ας ξεκινήσουμε με το 1ο μέρος αυτής της σειράς.
Σικούλι είναι ένα εργαλείο αυτοματοποίησης γραφικών διεπαφών χρήστη (GUI) χρησιμοποιώντας τη μέθοδο 'Visual Image Match'. Στο Sikuli, όλα τα στοιχεία ιστού πρέπει να λαμβάνονται ως εικόνα και να αποθηκεύονται μέσα στο έργο. Το Sikuli θα ενεργοποιήσει αλληλεπιδράσεις GUI με βάση την οπτική αντιστοίχιση εικόνας, την εικόνα που έχουμε περάσει ως παράμετρο μαζί με όλες τις μεθόδους.
Το Sikuli μπορεί να είναι πολύ χρήσιμο για την αυτοματοποίηση αντικειμένων flash (τα οποία δεν έχουν αναγνωριστικό ή όνομα). Μπορεί να είναι χρήσιμο στην περίπτωση, όπου έχουμε ένα σταθερό GUI (δηλαδή τα στοιχεία GUI δεν αλλάζουν).
Ακόμη και οι εφαρμογές που βασίζονται σε παράθυρο μπορούν επίσης να αυτοματοποιηθούν χρησιμοποιώντας το Sikuli. Το Sikuli παρέχει πολύ φιλικό Sikuli-script.jar, το οποίο μπορεί εύκολα να χρησιμοποιηθεί μαζί με το Selenium WebDriver. Μπορούμε ακόμη και να αυτοματοποιήσουμε το Adobe Video / Audio player, Flash Games στον ιστότοπο χρησιμοποιώντας το Sikuli. Με απλό API, διευκολύνει την κωδικοποίηση.
Πρακτικές χρήσεις
- Το Sikuli μπορεί να χρησιμοποιηθεί για την αυτοματοποίηση Flash Objects / Flash Websites.
- Μπορεί να είναι χρήσιμο να αυτοματοποιήσετε την εφαρμογή που βασίζεται στο παράθυρο. Μπορούμε να αυτοματοποιήσουμε, αυτό που βλέπουμε στην οθόνη.
- Παρέχει, απλό API. δηλαδή όλες οι μέθοδοι είναι προσβάσιμες χρησιμοποιώντας αντικείμενα κλάσης οθόνης.
- Μπορεί να ενσωματωθεί εύκολα με το Σελήνιο και όλα τα άλλα εργαλεία.
- Χρησιμοποιώντας το Sikuli μπορούμε να αυτοματοποιήσουμε τις εφαρμογές επιφάνειας εργασίας.
- Τα περισσότερα από τα εργαλεία δοκιμών αυτοματισμού δεν θα υποστηρίζουν αυτοματοποίηση αντικειμένων flash (π.χ. Σελήνιο). Το Sikuli παρέχει εκτεταμένη υποστήριξη για την αυτοματοποίηση αντικειμένων φλας.
- Χρησιμοποιεί έναν ισχυρό μηχανισμό «Visual Match» για την αυτοματοποίηση αντικειμένων επιφάνειας εργασίας και φλας.
Οφέλη
- Εργαλείο ανοιχτού κώδικα.
- Ένα από τα μεγαλύτερα πλεονεκτήματα του Sikuli είναι ότι μπορεί να αυτοματοποιήσει εύκολα αντικείμενα Flash.
- Διευκολύνει την αυτοματοποίηση της εφαρμογής των Windows.
- Όταν δοκιμάζετε μια εφαρμογή υπό ανάπτυξη και δεν γνωρίζετε το αναγνωριστικό / το όνομα των στοιχείων, τότε μπορείτε να πάτε με το Sikuli. Θα ελέγξει την εμφάνιση της εικόνας και αν βρεθεί ο αγώνας, θα αλληλεπιδράσει ανάλογα με την εικόνα.
Προαπαιτούμενα:
Πριν ξεκινήσετε, πρέπει να κατεβάσετε και να εγκαταστήσετε το ακόλουθο λογισμικό:
- Οποιοδήποτε εργαλείο καταγραφής στιγμιότυπου οθόνης ( Για παράδειγμα, DuckCapture , ή qSnap )
- JDK
- Eclipse (λεπτομερή βήματα εδώ για εγκατάσταση JDK και Eclipse)
Βήματα για τη δημιουργία του έργου Sikuli Java
Βήμα 1: Λήψη Sikuli - Κατεβάστε το Sikuli από εδώ .
Βήμα 2: Εξαγάγετε το αρχείο zip που έχετε κατεβάσει. Θα περιέχει το αρχείο Sikuli-script.jar. Αποθηκεύστε αυτό το εξαγόμενο αρχείο στο τοπικό σας σύστημα αρχείων.
Βήμα # 3: Ανοίξτε το Eclipse.
Βήμα # 4: Δημιουργήστε ένα έργο java Αρχείο -> Νέο -> Java Project
Βήμα # 5:
- Κάντε δεξί κλικ στο έργο
- Μεταβείτε στο Build Path-> Configure Build Path
- Μεταβείτε στην καρτέλα Βιβλιοθήκες
- Κάντε κλικ στο κουμπί 'Προσθήκη εξωτερικών βάζων' και προσθέστε το Sikuli-Script.jar στο Build Path.
- Κάντε κλικ στο 'Ok'

Το Sikuli-script.jar θα προστεθεί στη διαδρομή κατασκευής του έργου σας. Τελείωσες. Τώρα μπορείτε να αρχίσετε να γράφετε σενάρια Sikuli μέσα σε αυτό το έργο.
Μερικές μέθοδοι Sikuli
# 1) Δημιουργία αντικειμένου για κλάση οθόνης
Η οθόνη είναι μια βασική κατηγορία που παρέχεται από το Sikuli. Πρέπει πρώτα να δημιουργήσουμε ένα αντικείμενο για αυτήν την κλάση οθόνης και μετά μόνο να έχουμε πρόσβαση σε όλες τις μεθόδους που παρέχει το Sikuli.
Σύνταξη:
Οθόνη s = νέα οθόνη ();
java προγραμματισμός συνεντεύξεων ερωτήσεις και απαντήσεις για έμπειρους
# 2) Κάντε κλικ σε ένα στοιχείο
Αυτή η μέθοδος χρησιμοποιήθηκε για να κάνετε κλικ στη συγκεκριμένη εικόνα που υπάρχει στην οθόνη.
Σύνταξη:
s.click ('<>');
Για παράδειγμα,
s.click ('test.png');
# 3) Κάντε δεξί κλικ σε ένα στοιχείο
Αυτή η μέθοδος χρησιμοποιήθηκε για να κάνετε δεξί κλικ στη συγκεκριμένη εικόνα που υπάρχει στην οθόνη.
Σύνταξη:
s.rightClick ('<>');
Για παράδειγμα,
s.rightClick ('test.png');
# 4) Βρείτε ένα στοιχείο
Αυτή η μέθοδος χρησιμοποιήθηκε για την εύρεση ενός συγκεκριμένου στοιχείου που υπάρχει στην οθόνη.
Σύνταξη:
s.find ('<>');
Για παράδειγμα,
s.find ('test.png');
# 5) Κάντε διπλό κλικ σε ένα στοιχείο
Αυτή η μέθοδος χρησιμοποιήθηκε για να ενεργοποιήσει ένα συμβάν διπλού κλικ σε μια συγκεκριμένη εικόνα που υπάρχει στην οθόνη.
Σύνταξη:
s.doubleClick ('<>');
Για παράδειγμα,
s.doubleClick ('test.png');
# 6) Ελέγξτε αν υπάρχει ένα στοιχείο στην οθόνη
Αυτή η μέθοδος χρησιμοποιείται για να ελέγξει εάν το καθορισμένο στοιχείο υπάρχει στην οθόνη.
Σύνταξη:
s.exists ('<>');
Για παράδειγμα,
s.exists ('test.png');
# 7) Πληκτρολογήστε μια συμβολοσειρά σε ένα πλαίσιο κειμένου
Αυτή η μέθοδος χρησιμοποιείται για την εισαγωγή του καθορισμένου κειμένου στο πλαίσιο κειμένου.
Σύνταξη:
s.type ('<>',' Συμβολοσειρά προς πληκτρολόγηση ');
Για παράδειγμα,
s.type ('test.png', 'HI !!');
# 8) Τροχός σε μια συγκεκριμένη εικόνα
Αυτή η μέθοδος χρησιμοποιείται για την εκτέλεση τροχού στην εικόνα του στοιχείου.
Σύνταξη:
s.wheel ('<>',<>,<>);
Για παράδειγμα,
s.wheel ('test.png', 25,0);
# 9) Σύρετε και αποθέστε μια εικόνα / στοιχείο
Αυτή η μέθοδος χρησιμοποιείται για μεταφορά και απόθεση μιας καθορισμένης εικόνας από τη θέση προέλευσης στη θέση στόχου.
πώς να εκτελέσετε ένα αρχείο .bin
Σύνταξη:
s.dragDrop ('<>','<>');
Για παράδειγμα,
s.dragDrop ('test.png', 'test1.png');
# 10) Roll Hover σε μια συγκεκριμένη εικόνα
Αυτή η μέθοδος χρησιμοποιείται για την εκτέλεση συμβάντων ανατροπής ρολού στην καθορισμένη εικόνα.
Σύνταξη:
σπρώχνων('<>');
Για παράδειγμα,
s.hover ('test.png');
# 11) Επικόλληση αντιγραμμένης συμβολοσειράς
Αυτή η μέθοδος χρησιμοποιήθηκε για την επικόλληση κειμένου στο καθορισμένο πλαίσιο κειμένου.
Σύνταξη:
s. επικόλληση ('<>','δοκιμή');
Για παράδειγμα,
s.paste ('test.png', 'test');
Παραδείγματα Sikuli
# 1) Βίντεο YouTube - Παύση και αναπαραγωγή βίντεο
Βήμα 1) Ανοίξτε έναν σύνδεσμο βίντεο YouTube και Λήψη αναπαραγωγής και παύσης εικόνων στοιχείων χρησιμοποιώντας το εργαλείο καταγραφής οθόνης.
Κουμπί παύσης ( Σημείωση: το όνομα αρχείου είναι pause.png)

cut command σε unix με παραδείγματα
Κουμπί αναπαραγωγής ( Σημείωση: το όνομα αρχείου είναι play.png)

Αντιγράψτε αυτές τις εικόνες μέσα στο έργο.
Βήμα 2) Δημιουργήστε ένα πακέτο μέσα στο έργο Sikuli java που δημιουργήθηκε και μέσα σε αυτό δημιουργήστε μια τάξη με το όνομα 'Youtube'.
Βήμα # 3) Πληκτρολογήστε τον ακόλουθο κωδικό μέσα σε αυτήν την κλάση.
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 } } Βήμα # 4) Κάντε δεξί κλικ στην τάξη, επιλέξτε Run As -> Java Application.
# 2) Ανοίξτε το Σημειωματάριο και πληκτρολογήστε κάποιο κείμενο
Βήμα # 1) Καταγράψτε το εικονίδιο του σημειωματάριου στην επιφάνεια εργασίας της οθόνης.
σημειωματάριο_icon.png

σημειωματάριο.png
Βήμα # 2) Αντιγράψτε αυτές τις εικόνες μέσα στο έργο σας.
Βήμα # 3) Δημιουργήστε μια τάξη με το όνομα 'NotepadExample' μέσα στο έργο σας και πληκτρολογήστε τον ακόλουθο κωδικό.
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!!!!'); } } Βήμα # 4) Ανοίξτε την οθόνη που θα δοκιμαστεί πριν εκτελέσετε τον κωδικό.
Εκτελέστε αυτό το αρχείο με δεξί κλικ Εκτέλεση ως -> Εφαρμογή Java.
# 3) Σύρετε και αποθέστε
Βήμα 1) Τραβήξτε το στιγμιότυπο οθόνης των απαιτούμενων στοιχείων στην οθόνη και τοποθετήστε το στο έργο Sikuli.

( Σημείωση: εδώ, το εικονίδιο λήψεων είναι 'source.png' και η εικόνα λουλουδιών είναι 'destination.png')
Βήμα # 2) Βάλτε αυτές τις εικόνες μέσα στο έργο σας.
Βήμα # 3) Δημιουργήστε μια τάξη με το όνομα 'DragAndDrop' και γράψτε τον ακόλουθο κώδικα.
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'); } } Βήμα # 4) Εκτελέστε αυτό το σενάριο με δεξί κλικ Εκτέλεση ως -> Εφαρμογή Java.
Μετά την εκτέλεση αυτού του σεναρίου, το εικονίδιο λήψης θα μεταφερθεί και θα πέσει πάνω στην εικόνα, που υποδεικνύεται ως στόχος.
Πριν από την εκτέλεση:

Μετά την εκτέλεση:

Μειονεκτήματα αυτού του εργαλείου
- Δεν μπορούμε να σας διαβεβαιώσουμε ότι η αντιστοίχιση εικόνας θα είναι πάντα ακριβής. Μερικές φορές, εάν υπάρχουν δύο ή περισσότερες παρόμοιες εικόνες στην οθόνη, το Sikuli θα προσπαθήσει να επιλέξει τη λάθος εικόνα.
- Και αν η εμφάνιση της εικόνας ποικίλλει σε μέγεθος pixel, θα έχει επίσης ως αποτέλεσμα την εξαίρεση 'Find Failed'.
- Γενικά, για τη λήψη πάρα πολλών στιγμιότυπων οθόνης.
- Εάν κάποιος από το στιγμιότυπο οθόνης λείπει, θα επηρεάσει την εκτέλεση του προγράμματος.
Περισσότεροι πόροι:
συμπέρασμα
Το Sikuli είναι πολύ χρήσιμο στην αυτοματοποίηση αντικειμένων flash. Μπορεί να χρησιμοποιηθεί για την αυτοματοποίηση εφαρμογών που βασίζονται σε παράθυρο. Είναι ένα εξαιρετικό εργαλείο για να παίζετε με στοιχεία σε μια οθόνη, με βάση τα οπτικά τους.
Σχετικά με τον Συγγραφέα: Αυτή είναι μια θέση επισκεπτών από την Anitha Eswari. Αυτή τη στιγμή εργάζεται ως ανώτερος μηχανικός δοκιμών, έχοντας καλή γνώση των χειροκίνητων και αυτοματοποιημένων δοκιμών και διάφορα εργαλεία διαχείρισης δοκιμών.
Επόμενο σεμινάριο : Στο επόμενο μέρος αυτής της σειράς ας ρίξουμε μια βαθιά ματιά στη δημιουργία του έργου Sikuli maven και πώς να ενσωματώσουμε το Selenium με το Sikuli.
Χρησιμοποιείτε ήδη αυτό το εργαλείο; Μοιραστείτε την εμπειρία και τις συμβουλές σας. Αν θέλετε να ξεκινήσετε αλλά έχετε ερωτήματα ενημερώστε μας.
Συνιστώμενη ανάγνωση
- Sikuli GUI Automation Testing Tool - Οδηγός για αρχάριους Μέρος # 2
- 30 καλύτερα εργαλεία δοκιμής GUI για αυτοματοποίηση δοκιμών GUI (2021 LIST)
- SeeTest Automation Tutorial: Ένας οδηγός εργαλείου αυτοματισμού δοκιμών για κινητά
- Βασικά στοιχεία εκμάθησης του Rational Robot - IBM Test Automation Tool
- Tutorial Geb - Δοκιμή αυτοματισμού προγράμματος περιήγησης με χρήση του εργαλείου Geb
- Χρήσιμο δωρεάν εργαλείο συλλογής οθόνης και σχολιασμού για τους δοκιμαστές - qSnap Review
- Katalon Studio Tutorial: Ένα δωρεάν εργαλείο αυτοματοποίησης δοκιμών που περιμένατε
- Αυτοματοποίηση εφαρμογών με βάση το Flash χρησιμοποιώντας το εργαλείο Sikuli