how handle windows pop up selenium using autoit
Αυτό το σεμινάριο εξηγεί διάφορες μεθόδους για το χειρισμό των αναδυόμενων παραθύρων στο σελήνιο κάθε φορά που ο αυτοματισμός βγαίνει από το πεδίο εφαρμογής χρησιμοποιώντας το εργαλείο AutoIT:
Το AutoIT είναι ένα εργαλείο τρίτου μέρους που δίνει στο Selenium ένα βοηθητικό χέρι για τη διαχείριση αναδυόμενων παραθύρων όπως αναδυόμενα παράθυρα ελέγχου ταυτότητας, εφαρμογές Flash, εφαρμογή επιτραπέζιων υπολογιστών και ούτω καθεξής.
Το Selenium περιορίζεται μόνο στην αυτοματοποίηση εφαρμογών ιστού. Σε ορισμένες περιπτώσεις, ενδέχεται να εμφανιστεί ένα αναδυόμενο παράθυρο στην εφαρμογή που δεν μπορεί να χειριστεί το Selenium. Προκειμένου να χειριστεί τέτοια σενάρια, το AutoIT δίνει ένα βοηθητικό χέρι όπου φροντίζει για την αυτοματοποίηση των αναδυόμενων παραθύρων και των επιτραπέζιων εφαρμογών.
=> Επισκεφθείτε εδώ για να δείτε τη σειρά προπόνησης Selenium για όλους.
Τι θα μάθετε:
Επισκόπηση του εργαλείου AutoIT
Εδώ είναι ένα εκπαιδευτικό βίντεο:
Χειριστείτε το αναδυόμενο παράθυρο των Windows χρησιμοποιώντας το AutoIT
Το AutoIT είναι ένα εργαλείο τρίτου μέρους που χρησιμοποιείται για το χειρισμό εφαρμογών που βασίζονται σε Windows. Η γλώσσα σεναρίου που χρησιμοποιείται ονομάζεται VBScript.Το AutoIt είναι επίσης ένα δωρεάν λογισμικό. Χρησιμοποιεί έναν συνδυασμόκίνηση του ποντικιού και πινελιές πληκτρολογίου για την αυτοματοποίηση των ενεργειών που δεν είναι δυνατόν να γίνουν από το πρόγραμμα οδήγησης ιστού σεληνίου.
Το AutoIt χρησιμοποιείται σε μορφή .exe έτσι ώστε να μπορεί να χρησιμοποιηθεί στο σενάριο αυτοματισμού Selenium.
Ας δούμε ένα παράδειγμα, όπου θα χρειαζόμασταν ανέβασε ένα αρχείο στην εφαρμογή.
Το σενάριο είναι να ανεβάσετε μια εικόνα προφίλ στο LinkedIn. Τα βήματα δοκιμής για αυτό το σενάριο είναι:
- Εισαγάγετε διεύθυνση URL
- Εισαγάγετε ένα έγκυρο όνομα χρήστη, κωδικό πρόσβασης και συνδεθείτε.
- Κάντε κλικ στο εικονίδιο μεταφόρτωσης προφίλ.
- Εμφανίζεται το αναδυόμενο παράθυρο όπου εισάγεται η διαδρομή για τη μεταφόρτωση μιας εικόνας.
Μέχρι το βήμα 3, το Selenium Automation μπορεί να το χειριστεί. Όταν εμφανιστεί το αναδυόμενο παράθυρο των Windows, το σενάριο AutoIT χρησιμοποιείται για την αυτοματοποίηση αυτού του τμήματος.
Τώρα, ας ρίξουμε μια ματιά στο πώς να αυτοματοποιήσουμε τις ενέργειες στα αναδυόμενα παράθυρα;
Αυτό μπορεί να αντιμετωπιστεί με 4 διαφορετικούς τρόπους.
- Χρήση εντολών των Windows για τη μεταφόρτωση ενός συγκεκριμένου αρχείου.
- Χρήση εντολών ελέγχου για τη μεταφόρτωση ενός αρχείου.
- Χρησιμοποιώντας το όρισμα γραμμής εντολών για να καθορίσετε το Όνομα αρχείου που θα μεταφορτωθεί.
- Χρήση του εργαλείου αυτόματης εγγραφής.
Όλα τα σενάρια δημιουργούνται χρησιμοποιώντας AutoItScriptEditor, που είναι διαθέσιμο στο πακέτο φακέλων AutoIt.
Μεταβείτε στο AutoIt3> SciTE> SciTE.exe και ανοίξτε την εφαρμογή ScriptEditor.
# 1) Χρήση εντολών των Windows
Έχουμε διάφορα σύνολα λειτουργιών στο AutoIt.
Μπορείτε να ρίξετε μια ματιά εδώ. Τώρα για να αυτοματοποιήσετε τις αναδυόμενες ενέργειες των Windows, ας αναλύσουμε πρώτα τις ενέργειες. Αυτά περιλαμβάνουν:
- Ορίστε την εστίαση στο τρέχον παράθυρο.
- Εισαγάγετε τη διαδρομή του ονόματος αρχείου για μεταφόρτωση στο FileName Box.
- Κάντε κλικ στο κουμπί Άνοιγμα ή Πατήστε Enter στο Πληκτρολόγιο.
Ας κατανοήσουμε λεπτομερώς τα παραπάνω σημεία:
- Ορίστε την εστίαση στο τρέχον παράθυρο
WinWaitActive : Ρυθμίζει την εστίαση του δρομέα στο καθορισμένο όνομα παραθύρου. Σε αυτήν την περίπτωση, ο τίτλος του παραθύρου είναι «Άνοιγμα». Έτσι καθορίζουμε την εντολή ωςWinWaitActive ('Άνοιγμα').
Λάβετε υπόψη ότι ο ίδιος τίτλος των Windows διαφέρει για κάθε πρόγραμμα περιήγησης.
Λένε, για τον Firefox , είναι 'Μεταφόρτωση αρχείου', - Έτσι θα είναι η εντολή AutoITWinWaitActive ('Μεταφόρτωση αρχείου').
Για IE, είναι 'Αρχείο για μεταφόρτωση' - Έτσι θα είναι η εντολή AutoITWinWaitActive ('Αρχείο για μεταφόρτωση')
Για το Chrome , είναι 'Άνοιγμα' - Έτσι θα είναι η εντολή AutoITWinWaitActive ('Άνοιγμα')
Πρέπει να καθορίσετε τον τίτλο του παραθύρου με βάση το πρόγραμμα περιήγησης που χρησιμοποιείτε για αυτοματοποίηση.
δύο. Εισαγάγετε τη διαδρομή του ονόματος αρχείου για μεταφόρτωση στο FileName Box
Στείλετε - στέλνει πινελιές πληκτρολογίου ή με άλλα λόγια, προσομοιώνει τις ενέργειες του πληκτρολογίου.
Οι ενέργειες μπορεί να πατούν το πλήκτρο Enter, το πλήκτρο Shift και ούτω καθεξής. Ή πληκτρολογώντας μια συμβολοσειρά, αριθμό, κλπ. Σε αυτό το παράδειγμα, πρέπει να πληκτρολογήσω το όνομα αρχείου, οπότε χρησιμοποιώ την εντολή για να εισαγάγω το όνομα αρχείου στο παράθυρο. -Αποστολή ('D: passport.jpg')
3. Κάντε κλικ στο κουμπί Άνοιγμα ή Πατήστε Enter στο Πληκτρολόγιο
Αποστολή ({ENTER})- στέλνει το πλήκτρο ENTER στο παράθυρο, το οποίο με τη σειρά του ολοκληρώνει την ενέργεια της μεταφόρτωσης.
πώς να καλέσετε έναν πίνακα από μια άλλη μέθοδο στο java
Αποθηκεύστε το σενάριο που δημιουργήθηκε σε οποιαδήποτε τοποθεσία. Θα αποθηκευτεί σε μορφή .au3. Μόλις αποθηκευτεί, κάντε δεξί κλικ στο αρχείο .au3 και μεταγλωττίστε το.
Μετά τη συλλογή, μετατρέπεται σε μορφή .exe (εκτελέσιμη μορφή). Αυτό το αρχείο είναι αυτό που χρησιμοποιούμε στο σενάριο Selenium.
Μόλις δημιουργηθεί το αρχείο .exe, μπορείτε να χρησιμοποιήσετε το αρχείο στο σενάριο αυτοματισμού Selenium για να εκτελέσετε τις εντολές σε αυτό
Runtime.getRuntime.exec ('καθορίστε αυτόματο όνομα αρχείου εδώ')
# 2) Χρήση εντολών ελέγχου
Έχουμε ορισμένες εντολές ελέγχου στο AutoIT για εκτέλεση ενεργειών. Εδώ είναι η λίστα των εντολών ελέγχου στο AutoIT.
Ας δούμε πώς να αυτοματοποιήσουμε το ίδιο σενάριο μεταφόρτωσης αρχείων χρησιμοποιώντας αυτές τις εντολές ελέγχου του AutoIT.
Τώρα, με τη σειρά για να αυτοματοποιηθεί το αναδυόμενο παράθυρο των Windows, πρέπει να εκτελεστούν οι παρακάτω ενέργειες:
- Ορίστε την εστίαση στο τρέχον παράθυρο.
- Εισαγάγετε τη διαδρομή του ονόματος αρχείου για μεταφόρτωση στο FileName Box.
- Κάντε κλικ στο κουμπί Άνοιγμα ή Πατήστε Enter στο Πληκτρολόγιο.
Ας κατανοήσουμε λεπτομερώς τα παραπάνω σημεία:
- Ορίστε την εστίαση στο τρέχον παράθυρο
Έλεγχος εστίασης:Ορίζει εστίαση στο καθορισμένο στοιχείο. Σε αυτήν την περίπτωση, εστιάζουμε στο πλαίσιο κειμένου επεξεργασίας.
Όταν κοιτάξετε την περιγραφή της, μπορείτε να δείτε ότι απαιτεί μία ή περισσότερες παραμέτρους. Μπορούμε να περάσουμε αυτές τις παραμέτρους χρησιμοποιώντας το εργαλείο πληροφοριών των Windows του AutoIt.
Ας ανοίξτε την εφαρμογή AutoIT όπως παρακάτω:
Το εργαλείο πληροφοριών των Windows ανοίγει όπως παρακάτω:
Αυτό το εργαλείο χρησιμοποιείται για τον έλεγχο στοιχείων στην εφαρμογή / αναδυόμενο παράθυρο των Windows.
Για να λάβετε διάφορα χαρακτηριστικά κάθε στοιχείου στο αναδυόμενο παράθυρο των Windows, σύρετε το εικονίδιο «Finder» του Εργαλείου πληροφοριών των Windows και κάντε κλικ στο στοιχείο για να εμφανίσετε τις ιδιότητές του όπως παρακάτω.
Έχουμε τις ιδιότητές του στο εργαλείο όπως φαίνεται.
Για το πλαίσιο FileName, οι ιδιότητες και οι αντίστοιχες τιμές είναι:
- Τίτλος - Άνοιγμα
- ClassName - Επεξεργασία
- Περίπτωση - 1
Χρησιμοποιώντας αυτές τις ιδιότητες, μπορούμε να περάσουμε τις παραμέτρους για την εντολή ελέγχου.
Τώρα, για να ρυθμίσετε την εστίαση στο πλαίσιο FileName, καλούμε την εντολή «ControlFocus» όπως παρακάτω:
- Σύνταξη: ControlFocus ('τίτλος', 'κείμενο', controlID)
- Ο «τίτλος» αντιστοιχεί στον τίτλο που εμφανίζεται στο εργαλείο.
- Το αναγνωριστικό ελέγχου είναι ο συνδυασμός του ClassName + Instance στο εργαλείο
ControlFocus ('Άνοιγμα', '', 'Επεξεργασία1')
Που,
- Open - είναι ο τίτλος
- Edit1 - είναι το controlID (controlID = ClassName + Instance)
δύο. Εισαγάγετε τη διαδρομή του ονόματος αρχείου για μεταφόρτωση στο FileName Box
ControlSetText - τύποι στο κείμενο του στοιχείου.
- Σύνταξη: ControlSetText ('τίτλος', 'κείμενο', controlID, 'νέο κείμενο' (, flag = 0))
Στην περίπτωσή μας, έχουμε το όνομα αρχείου στο πλαίσιο κειμένου.
ControlSetText ('Open', '', 'Edit1', 'D: passport.jpg')
Που,
- Open - είναι ο τίτλος
- Edit1 - είναι το controlID (controlID = ClassName + Instance)
- D: passport.jpg - είναι το όνομα αρχείου που θέλετε να ανεβάσετε
3. Κάντε κλικ στο κουμπί Άνοιγμα ή Πατήστε Enter στο Πληκτρολόγιο
ControlClick - εκτελεί μια ενέργεια κλικ στο στοιχείο. Σε αυτό το παράδειγμα, κάνουμε κλικ στο κουμπί 'Άνοιγμα'
- Σύνταξη: ControlClick ('τίτλος', 'κείμενο', controlID (, κουμπί = 'αριστερά' (, κλικ = 1 (, x (, y)))))
Στην περίπτωσή μας, θα πρέπει να κάνει κλικ στο κουμπί «Άνοιγμα» στο αναδυόμενο παράθυρο των Windows.
ControlClick ('Άνοιγμα', '', 'Κουμπί1')
Που,
- Open - είναι ο τίτλος
- Button1 - είναι το controlID (controlID = ClassName + Instance)
Καλούμε το αρχείο .exe από τον κωδικό Selenium χρησιμοποιώντας την εντολή-Runtime.getRuntime.exec ('καθορίστε αυτόματο όνομα αρχείου εδώ')
ΣΗΜΕΙΩΣΗ: Όταν πρέπει να ανεβάσουμε πολλά αρχεία σε μία μόνο περίπτωση, μπορούμε να καθορίσουμε όλα τα ονόματα αρχείων σε μια μεταβλητή και να μεταβιβάσουμε το όνομα της μεταβλητής στην εντολή.
ControlFocus - ρυθμίζει την εστίαση στο στοιχείο.
$ files - είναι η μεταβλητή που δημιουργήθηκε και διατηρεί το κείμενο / όνομα αρχείου που θα μεταφορτωθεί.
ControlSetText - μεταβιβάζει τη μεταβλητή που έχει τα ονόματα αρχείων που θα μεταφορτωθούν στο στοιχείο «Επεξεργασία».
ContolClick - εκτελεί μια ενέργεια κλικ στο στοιχείο.
# 3) Χρήση γραμμής εντολών για τον καθορισμό του ονόματος αρχείου για μεταφόρτωση
Η ίδια διαδικασία μπορεί να προσεγγιστεί με διαφορετικό τρόπο, όπου το όνομα αρχείου λαμβάνεται από τον χρήστη. Αυτό γίνεται χρησιμοποιώντας την προσέγγιση της γραμμής εντολών.
Αντί να καθορίσουμε απευθείας το όνομα αρχείου στο AutoIT, το περνάμε στον κωδικό Selenium όπως παρακάτω:
AutoIT Script: (Upload.exe)
ControlFocus(“Open”,””,”Edit1”) ControlSetText(“Open”,””,”Edit1”,$cmdLine(1)) ControlClick(“Open”,””,”Button1”)
Σε κωδικό σεληνίου:
Το ορίζουμε ως:
Runtime.getRuntime.exec(“Path of .exe file”+””+ “FileToUpload”)
Σε αυτήν την περίπτωση, θα είναι
Runtime.getRuntime.exec(“D:automationUpload.exe”+””+ “D:automationimage.jpg”)
Αποθηκεύστε το αρχείο που δημιουργήθηκε και μεταγλωττίστε το για να το μετατρέψετε σε εκτελέσιμη μορφή.
# 4) Χρήση της δυνατότητας εγγραφής του AutoIT
Αυτή η δυνατότητα είναι διαθέσιμη μόνο σε εκδόσεις κάτω από το 3.3.14.0. Εκδόσεις μεγαλύτερες από αυτές δεν υποστηρίζουν αυτήν τη δυνατότητα.
Για να ανοίξετε το εργαλείο εγγραφής, πλοηγηθείτε στο AutoIt3> Πρόσθετα> Au3Record> Au3Record.exe
Όταν αρχίζουμε να το χρησιμοποιούμε, φροντίστε πάντα να αποεπιλέξετε την επιλογή «Εγγραφή ποντικιού», καθώς η αλληλεπίδραση του ποντικιού ποικίλλει για κάθε ανάλυση οθόνης. Καταγράφετε πάντα τις πινελιές πληκτρολογίου.
Επιλέξτε 'Κάντε κλικ για εγγραφή' στο εργαλείο και οι ενέργειες καταγράφονται σε αυτό.
Όταν ολοκληρώσετε την εγγραφή, επιλέξτε «Κάντε κλικ για διακοπή» και αποθηκεύστε το αρχείο
Μπορείτε να ανοίξετε το αρχείο .au3 που έχει αποθηκευτεί για να δείτε τις εντολές που δημιουργούνται για κάθε ενέργεια που εκτελέσατε
Μεταγλώττιση του σεναρίου και μετατροπή του σε αρχείο .exe.
Το αρχείο .exe που δημιουργήθηκε μπορεί να χρησιμοποιηθεί απευθείας στον κώδικα Selenium για εκτέλεση όπως παρακάτω:
Runtime.getRuntime.exec(“D:automationRecord.exe”)
συμπέρασμα
Έτσι, τυχόν αναδυόμενα παράθυρα όπως έλεγχος ταυτότητας ή μεταφόρτωση αρχείου ή άνοιγμα αρχείου κ.λπ. μπορούν να αντιμετωπιστούν χρησιμοποιώντας το AutoIT συμπεριλαμβάνοντας το αρχείο σεναρίου στο Selenium.
Στο επόμενο κεφάλαιο, θα μάθουμε για ένα άλλο εργαλείο τρίτου μέρους που ονομάζεται Sikuli, το οποίο χρησιμοποιείται για την αυτοματοποίηση εφαρμογών χρησιμοποιώντας την τεχνική αναγνώρισης εικόνας.
=> Επισκεφθείτε εδώ για να μάθετε το σελήνιο από το μηδέν.
Συνιστώμενη ανάγνωση
- Τρόπος χειρισμού ειδοποιήσεων / αναδυόμενων παραθύρων στο Selenium WebDriver - Selenium Tutorial # 16
- Cucumber Selenium Tutorial: Αγγούρι Java Selenium WebDriver Integration
- Κορυφαίες 10 εξαιρέσεις σεληνίου και πώς να τις χειριστείτε (Ακριβής κωδικός)
- Εισαγωγή στο Selenium WebDriver - Selenium Tutorial # 8
- AutoIt Tutorial - Αυτόματη λήψη, εγκατάσταση και βασικό σενάριο AutoIt
- Tutorial ChromeDriver Selenium: Δοκιμές Webdriver Selenium στο Chrome
- 30+ καλύτερα σεμινάρια σεληνίου: Μάθετε το σελήνιο με πραγματικά παραδείγματα
- Ευκαιρία εργασίας μερικής απασχόλησης για ειδικούς σεληνίου