Σε αυτό το σεμινάριο, θα μάθουμε, Εντολές αποθήκευσης, εντολές Echo, Ειδοποιήσεις και χειρισμός αναδυόμενων παραθύρων.
Αποθήκευση μεταβλητών και εντολή Echo
Κατάστημα
Για να αποθηκεύσουμε μεταβλητές στο Selenium IDE, χρησιμοποιούμε την εντολή "store". Η παρακάτω εικόνα αποθηκεύει την τιμή "φροντιστήριο" σε μια μεταβλητή που ονομάζεται "myVariable."
Για να αποκτήσετε πρόσβαση στη μεταβλητή, απλώς επισυνάψτε την σε ένα σύμβολο $ {…}. Για παράδειγμα, για να εισαγάγετε την τιμή του "myVariable" στο πλαίσιο κειμένου "userName" της Mercury Tours, εισαγάγετε $ {myVariable} στο πεδίο Value.
StoreElementPresent
Αυτή η εντολή αποθηκεύει είτε "true" είτε "false" ανάλογα με την παρουσία του καθορισμένου στοιχείου. Το παρακάτω σενάριο αποθηκεύει την τιμή Boolean "true" έως "var1" και "false" έως "var2". Για επαλήθευση, θα χρησιμοποιήσουμε την εντολή "echo" για να εμφανίσουμε τις τιμές των var1 και var2. Η βασική διεύθυνση URL για την παρακάτω εικόνα ορίστηκε στην αρχική σελίδα της Mercury Tours.
StoreText
Αυτή η εντολή χρησιμοποιείται για την αποθήκευση του εσωτερικού κειμένου ενός στοιχείου σε μια μεταβλητή. Η παρακάτω εικόνα αποθηκεύει το εσωτερικό κείμενο της ετικέτας στο Facebook σε μια μεταβλητή που ονομάζεται «textVar».
Δεδομένου ότι είναι το μόνο στοιχείο στη σελίδα, είναι ασφαλές να χρησιμοποιήσετε το "css = h1" ως στόχο μας. Η παρακάτω εικόνα δείχνει ότι το Selenium IDE μπόρεσε να αποθηκεύσει τη συμβολοσειρά "Sign Up" στη μεταβλητή 'textVar' εκτυπώνοντας σωστά την τιμή της.
Ειδοποιήσεις, αναδυόμενα παράθυρα και πολλαπλά Windows
Οι ειδοποιήσεις είναι πιθανώς η απλούστερη μορφή αναδυόμενων παραθύρων. Οι πιο συνηθισμένες εντολές Selenium IDE που χρησιμοποιούνται στο χειρισμό ειδοποιήσεων είναι οι εξής:
assertAlert assertNotAlert | ανακτά το μήνυμα της ειδοποίησης και το επιβεβαιώνει σε μια τιμή συμβολοσειράς που καθορίσατε |
assertAlertPresent assertAlertNotPresent | δηλώνει εάν υπάρχει ειδοποίηση ή όχι |
storeAlert | ανακτά το μήνυμα ειδοποίησης και το αποθηκεύει σε μια μεταβλητή που θα καθορίσετε |
storeAlertPresent | επιστρέφει ΑΛΗΘΕΙΑ εάν υπάρχει ειδοποίηση. ΛΑΘΟΣ εάν άλλως |
verifyAlert verifyNotAlert | ανακτά το μήνυμα της ειδοποίησης και επαληθεύει εάν είναι ίσο με την τιμή συμβολοσειράς που καθορίσατε |
verifyAlertPresent verifyAlertNotPresent | επαληθεύει εάν υπάρχει ειδοποίηση ή όχι |
Θυμηθείτε αυτά τα δύο πράγματα όταν εργάζεστε με ειδοποιήσεις:
- Το Selenium IDE θα κάνει αυτόματα κλικ στο κουμπί OK του παραθύρου ειδοποίησης και έτσι δεν θα μπορείτε να δείτε την πραγματική ειδοποίηση.
- Το Selenium IDE δεν θα μπορεί να χειριστεί ειδοποιήσεις που βρίσκονται στη λειτουργία φόρτωσης της σελίδας (). Θα μπορεί να χειρίζεται ειδοποιήσεις που δημιουργούνται μόνο αφού ολοκληρωθεί η φόρτωση της σελίδας.
Σε αυτό το παράδειγμα, θα χρησιμοποιήσουμε την εντολή storeAlert για να δείξουμε ότι παρόλο που το Selenium IDE δεν παρουσίασε την πραγματική ειδοποίηση, ήταν σε θέση να ανακτήσει το μήνυμά του.
Βήμα 1. Στο Selenium IDE, ορίστε τη βασική διεύθυνση URL σε http://jsbin.com. & η πλήρης διεύθυνση url είναι: http://jsbin.com/usidix
Βήμα 2. Δημιουργήστε το σενάριο όπως φαίνεται παρακάτω.
Βήμα 3. Εκτελέστε το σενάριο και μην περιμένετε ότι θα μπορείτε να δείτε την πραγματική ειδοποίηση.
Επιβεβαιώσεις
Οι επιβεβαιώσεις είναι αναδυόμενα παράθυρα που σας δίνουν ένα κουμπί ΟΚ και ΑΚΥΡΩΣΗ, σε αντίθεση με τις ειδοποιήσεις που σας δίνουν μόνο το κουμπί ΟΚ. Οι εντολές που μπορείτε να χρησιμοποιήσετε στο χειρισμό επιβεβαιώσεων είναι παρόμοιες με αυτές που χειρίζονται τις ειδοποιήσεις.
- assertConfirmation / assertNotConfirmation
- assertConfirmationPresent / assertConfirmationNotPresent
- επιβεβαίωση καταστήματος
- storeConfirmationPresent
- verifikasiConfirmation / verifyNotConfirmation
- verifikasiConfirmationPresent / verifyConfirmationNotPresent
Ωστόσο, αυτές είναι οι πρόσθετες εντολές που πρέπει να χρησιμοποιήσετε για να καθοδηγήσετε το Selenium ποια επιλογή να επιλέξετε, είτε το κουμπί ΟΚ ή ΑΚΥΡΩΣΗ.
- selectOkOnNextConfirmation / selectOkOnNextConfirmationAndWait
- επιλέξτεCancelOnNextConfirmation
Πρέπει να χρησιμοποιήσετε αυτές τις εντολές πριν από μια εντολή που ενεργοποιεί το πλαίσιο επιβεβαίωσης, ώστε το Selenium IDE να γνωρίζει εκ των προτέρων ποια επιλογή να επιλέξει. Και πάλι, δεν θα μπορείτε να δείτε το πραγματικό πλαίσιο επιβεβαίωσης κατά την εκτέλεση του σεναρίου.
Ας δοκιμάσουμε μια ιστοσελίδα που έχει ένα κουμπί που έχει κωδικοποιηθεί για να δείξει εάν ο χρήστης είχε πατήσει το κουμπί ΟΚ ή ΑΚΥΡΩΣΗ.
Βήμα 1. Στο Selenium IDE, ορίστε το URL βάσης σε http://jsbin.com και η πλήρης διεύθυνση URL είναι: http://jsbin.com/enifaf
Βήμα 2. Δημιουργήστε το σενάριο όπως φαίνεται παρακάτω. Αυτή τη φορά, θα πατήσουμε πρώτα το κουμπί ΟΚ.
Βήμα 3. Εκτελέστε το σενάριο και παρατηρήστε ότι δεν βλέπετε την πραγματική επιβεβαίωση, αλλά η ιστοσελίδα μπόρεσε να υποδείξει ποιο κουμπί είχε πατήσει το Selenium IDE.
Βήμα 4. Αντικαταστήστε την εντολή "selectOkOnNextConfirmation" με "selectCancelOnNextConfirmation" και εκτελέστε ξανά το σενάριο.
Πολλαπλά Windows
Εάν τυχαίνει να κάνετε κλικ σε έναν σύνδεσμο που ξεκινά ένα ξεχωριστό παράθυρο, πρέπει πρώτα να δώσετε εντολή στο Selenium IDE να επιλέξει αυτό το παράθυρο πρώτα προτού μπορέσετε να αποκτήσετε πρόσβαση στα στοιχεία που περιέχονται σε αυτό . Για να το κάνετε αυτό, θα χρησιμοποιήσετε τον τίτλο του παραθύρου ως εντοπιστής του .
Χρησιμοποιούμε την εντολή selectWindow για εναλλαγή μεταξύ παραθύρων.
Θα χρησιμοποιήσουμε έναν σύνδεσμο http://jsbin.com/ocinaj/1 με τίτλο "First Window." Ο υπερσύνδεσμος "εδώ" που βρίσκεται σε αυτήν τη σελίδα θα ανοίξει το Facebook σε ένα νέο παράθυρο, μετά το οποίο θα δώσουμε εντολή στο Selenium IDE να κάνει τα εξής:
- Μεταφέρετε τον έλεγχο από το γονικό παράθυρο στο νέο παράθυρο του Facebook χρησιμοποιώντας την εντολή "selectWindow" και τον τίτλο του ως εντοπιστής
- Επαληθεύστε τον τίτλο του νέου παραθύρου
- Επιλέξτε πίσω το αρχικό παράθυρο χρησιμοποιώντας την εντολή "selectWindow" και το "null" ως στόχο του.
- Επαληθεύστε τον τίτλο του τρέχοντος επιλεγμένου παραθύρου
Βήμα 1. Ορίστε το URL βάσης σε http://jsbin.com.
Βήμα 2. Δημιουργήστε το σενάριο όπως φαίνεται παρακάτω.
Χρειαζόμαστε την εντολή "παύση" για να περιμένουμε να φορτώσει το παράθυρο που κυκλοφόρησε πριν μπορέσουμε να αποκτήσουμε πρόσβαση στον τίτλο του.
Βήμα 3. Εκτελέστε το σενάριο. Παρατηρήστε ότι η δοκιμαστική υπόθεση πέρασε, πράγμα που σημαίνει ότι μπορέσαμε να εναλλάξουμε παράθυρα και να επαληθεύσουμε με επιτυχία τους τίτλους τους.
Να θυμάστε πάντα ότι ο καθορισμός του στόχου selectWindow σε "null" θα επιλέξει αυτόματα το γονικό παράθυρο (σε αυτήν την περίπτωση, το παράθυρο όπου βρίσκεται το στοιχείο "link = here")
Σημείωση: Το Facebook άλλαξε τον τίτλο από τη δημιουργία των Tutorials. Τροποποιήστε τον κωδικό αναλόγως
Περίληψη
- Η εντολή "store" (και όλες οι παραλλαγές της) χρησιμοποιούνται για την αποθήκευση μεταβλητών στο Selenium IDE
- Η εντολή "echo" χρησιμοποιείται για την εκτύπωση μιας τιμής συμβολοσειράς ή μιας μεταβλητής
- Οι μεταβλητές περικλείονται εντός $ {…} όταν εκτυπώνονται ή χρησιμοποιούνται σε στοιχεία
- Το Selenium IDE πατά αυτόματα το κουμπί OK κατά το χειρισμό ειδοποιήσεων
- Κατά τον χειρισμό διαλόγων επιβεβαίωσης, μπορείτε να δώσετε εντολή στο Selenium IDE ποια επιλογή να χρησιμοποιήσετε:
- selectOkOnNextConfirmation / selectOkOnNextConfirmationAndWait
- επιλέξτεCancelOnNextConfirmation
- Οι τίτλοι των παραθύρων χρησιμοποιούνται ως εντοπιστές κατά την εναλλαγή μεταξύ των παραθύρων του προγράμματος περιήγησης.
- Όταν χρησιμοποιείτε την εντολή "selectWindow", η ρύθμιση του Target σε "null" θα κατευθύνει αυτόματα το Selenium IDE για να επιλέξει το γονικό παράθυρο.