Αποθήκευση μεταβλητών, ηχώ, ειδοποίηση, χειρισμός αναδυόμενων παραθύρων Selenium IDE

Σε αυτό το σεμινάριο, θα μάθουμε, Αποθήκευση εντολών, εντολές Echo, Ειδοποιήσεις και χειρισμό αναδυόμενων παραθύρων.

Selenium Μεταβλητές IDE

κατάστημα

Για αποθήκευση μεταβλητών σε Selenium IDE, χρησιμοποιούμε την εντολή "store". Η παρακάτω εικόνα αποθηκεύει την τιμή "tutorial" σε μια μεταβλητή που ονομάζεται "myVariable".

Selenium Μεταβλητές IDE

Για να αποκτήσετε πρόσβαση στη μεταβλητή, απλώς περικλείστε την σε ένα σύμβολο ${ … }. Για παράδειγμα, για να εισαγάγετε την τιμή του "myVariable" στο πλαίσιο κειμένου "userName" του Mercury Περιηγήσεις, εισαγάγετε ${myVariable} στο πεδίο Τιμή.

Selenium Μεταβλητές IDE

StoreElementPresent

Αυτή η εντολή αποθηκεύει είτε "true" ή "false" ανάλογα με την παρουσία του καθορισμένου στοιχείου. Το παρακάτω σενάριο αποθηκεύει την τιμή Boole "true" στο "var1" και "false" στο "var2". Για επαλήθευση, θα χρησιμοποιήσουμε την εντολή «echo» για να εμφανίσουμε τις τιμές των var1 και var2. Η βασική διεύθυνση URL για την παρακάτω εικόνα ορίστηκε σε Mercury Αρχική σελίδα περιηγήσεων.

StoreElementPresent

StoreText

Αυτή η εντολή χρησιμοποιείται για την αποθήκευση του εσωτερικού κειμένου ενός στοιχείου σε μια μεταβλητή. Η παρακάτω εικόνα αποθηκεύει το εσωτερικό κείμενο της ετικέτας στο Facebook σε μια μεταβλητή που ονομάζεται "textVar".

StoreText

Δεδομένου ότι είναι το μόνο στοιχείο στη σελίδα, είναι ασφαλές να χρησιμοποιήσουμε το 'css=h1' ως στόχο μας. Η παρακάτω εικόνα το δείχνει Selenium Το IDE μπόρεσε να αποθηκεύσει τη συμβολοσειρά «Εγγραφή» στη μεταβλητή «textVar» εκτυπώνοντας σωστά την τιμή της.

StoreText

Ειδοποιήσεις, αναδυόμενα παράθυρα και πολλαπλές Windows

Οι ειδοποιήσεις είναι ίσως η απλούστερη μορφή αναδυόμενων παραθύρων. Το πιο συνηθισμένο Selenium Οι εντολές IDE που χρησιμοποιούνται για το χειρισμό ειδοποιήσεων είναι οι ακόλουθες:

Ειδοποιήσεις μπορείτε να χρησιμοποιήσετε

assertAlert

assertNotAlert

ανακτά το μήνυμα της ειδοποίησης και το επαναφέρει σε μια τιμή συμβολοσειράς που καθορίσατε

assertAlertPresent

assertAlertNotPresent

βεβαιώνει εάν υπάρχει ή όχι μια Ειδοποίηση
storeAlert ανακτά το μήνυμα ειδοποίησης και το αποθηκεύει σε μια μεταβλητή που θα καθορίσετε
storeAlertPresent επιστρέφει TRUE εάν υπάρχει ειδοποίηση. ΛΑΘΟΣ αν διαφορετικά

VerifyAlert

verifyNotAlert

ανακτά το μήνυμα της ειδοποίησης και επαληθεύει εάν είναι ίση με την τιμή συμβολοσειράς που καθορίσατε

verifyAlertPresent

verifyAlertNotPresent

επαληθεύει εάν υπάρχει ειδοποίηση ή όχι

Να θυμάστε αυτά τα δύο πράγματα όταν εργάζεστε με ειδοποιήσεις:

  • Selenium Το IDE θα κάνει αυτόματα κλικ στο κουμπί OK του παραθύρου ειδοποίησης και έτσι δεν θα μπορείτε να δείτε την πραγματική ειδοποίηση.
  • Selenium Το IDE δεν θα μπορεί να χειριστεί ειδοποιήσεις που βρίσκονται εντός της συνάρτησης onload() της σελίδας. Θα μπορεί να χειρίζεται μόνο ειδοποιήσεις που δημιουργούνται μετά την πλήρη φόρτωση της σελίδας.

Σε αυτό το παράδειγμα, θα χρησιμοποιήσουμε την εντολή storeAlert για να το δείξουμε ακόμα κι αν Selenium Το IDE δεν έδειξε την πραγματική ειδοποίηση, ήταν ακόμα σε θέση να ανακτήσει το μήνυμά του.

Βήμα 1) In Selenium IDE, ορίστε τη διεύθυνση URL βάσης σε http://jsbin.com. & το πλήρες url είναι: http://jsbin.com/usidix

Βήμα 2) Δημιουργήστε το σενάριο όπως φαίνεται παρακάτω.

Ειδοποιήσεις, αναδυόμενα παράθυρα και πολλαπλές Windows

Βήμα 3) Εκτελέστε το σενάριο και μην περιμένετε ότι θα μπορείτε να δείτε την πραγματική ειδοποίηση.

Ειδοποιήσεις, αναδυόμενα παράθυρα και πολλαπλές Windows

Επιβεβαιώσεις

Οι επιβεβαιώσεις είναι αναδυόμενα παράθυρα που σας δίνουν ένα κουμπί ΟΚ και ΑΚΥΡΩΣΗ, σε αντίθεση με τις ειδοποιήσεις που σας δίνουν μόνο το κουμπί ΟΚ. Οι εντολές που μπορείτε να χρησιμοποιήσετε για το χειρισμό των επιβεβαιώσεων είναι παρόμοιες με εκείνες στο χειρισμό ειδοποιήσεων.

  • assertConfirmation/assertNotConfirmation
  • assertConfirmationPresent/assertConfirmationNotPresent
  • Επιβεβαίωση αποθήκευσης
  • storeConfirmationPresent
  • verifyConfirmation/verifyNotConfirmation
  • verifyConfirmationPresent/verifyConfirmationNotPresent

Ωστόσο, αυτές είναι οι πρόσθετες εντολές που πρέπει να χρησιμοποιήσετε για την εντολή Selenium ποια επιλογή να επιλέξετε, είτε το κουμπί OK είτε το κουμπί ΑΚΥΡΩΣΗ.

  • επιλέξτεOkOnNextConfirmation/chooseOkOnNextConfirmationAndWait
  • επιλέξτεCancelOnNextΕπιβεβαίωση

Θα πρέπει να χρησιμοποιήσετε αυτές τις εντολές πριν από μια εντολή που ενεργοποιεί το πλαίσιο επιβεβαίωσης έτσι ώστε Selenium Το IDE θα γνωρίζει εκ των προτέρων ποια επιλογή να επιλέξει. Και πάλι, δεν θα μπορείτε να δείτε το πραγματικό πλαίσιο επιβεβαίωσης κατά την εκτέλεση του σεναρίου.

Ας δοκιμάσουμε μια ιστοσελίδα που έχει ένα κουμπί που έχει κωδικοποιηθεί για να δείξει εάν ο χρήστης είχε πατήσει το κουμπί OK ή το κουμπί ΑΚΥΡΩΣΗ.

Βήμα 1) In Selenium IDE, ορίστε τη διεύθυνση URL βάσης σε http://jsbin.com

& το πλήρες url είναι: http://jsbin.com/enifaf

Βήμα 2) Δημιουργήστε το σενάριο όπως φαίνεται παρακάτω. Αυτή τη φορά, θα πατήσουμε πρώτα το κουμπί ΟΚ.

Επιβεβαιώσεις

Βήμα 3) Εκτελέστε το σενάριο και παρατηρήστε ότι δεν βλέπετε την πραγματική επιβεβαίωση, αλλά η ιστοσελίδα ήταν σε θέση να υποδείξει ποιο κουμπί Selenium Το IDE είχε πατήσει.

Επιβεβαιώσεις

Βήμα 4) Αντικαταστήστε την εντολή «chooseOkOnNextConfirmation» με «chooseCancelOnNextConfirmation» και εκτελέστε ξανά το σενάριο.

Επιβεβαιώσεις

Πολλαπλούς Windows

Εάν τυχαίνει να κάνετε κλικ σε έναν σύνδεσμο που ανοίγει ένα ξεχωριστό παράθυρο, πρέπει πρώτα να δώσετε οδηγίες Selenium IDE για να επιλέξετε πρώτα αυτό το παράθυρο πριν μπορέσετε να αποκτήσετε πρόσβαση στα στοιχεία μέσα σε αυτό. Για να το κάνετε αυτό, θα χρησιμοποιήσετε τον τίτλο του παραθύρου ως εντοπιστή του.

Χρησιμοποιούμε την εντολή selectWindow στην εναλλαγή μεταξύ των παραθύρων.

Θα χρησιμοποιήσουμε έναν σύνδεσμο http://jsbin.com/ocinaj/1 του οποίου ο τίτλος είναι "Πρώτο παράθυρο". Ο υπερσύνδεσμος "εδώ" που βρίσκεται σε αυτήν τη σελίδα θα ανοίξει το Facebook σε νέο παράθυρο, μετά από το οποίο θα δώσουμε οδηγίες Selenium IDE για να κάνετε τα εξής:

  • Μεταφέρετε τον έλεγχο από το γονικό παράθυρο στο παράθυρο του Facebook που μόλις ξεκίνησε χρησιμοποιώντας την εντολή "selectWindow" και τον τίτλο του ως εντοπιστή
  • Επαληθεύστε τον τίτλο του νέου παραθύρου
  • Επιλέξτε ξανά το αρχικό παράθυρο χρησιμοποιώντας την εντολή "selectWindow" και "null" ως στόχο.
  • Επαληθεύστε τον τίτλο του τρέχοντος επιλεγμένου παραθύρου

Πολλαπλούς Windows

Βήμα 1) Ορίστε τη διεύθυνση URL βάσης σε http://jsbin.com.

Βήμα 2) Δημιουργήστε το σενάριο όπως φαίνεται παρακάτω.

Πολλαπλούς Windows

Χρειαζόμαστε την εντολή "pause" για να περιμένουμε να φορτώσει το παράθυρο που μόλις ξεκίνησε πριν μπορέσουμε να αποκτήσουμε πρόσβαση στον τίτλο του.

Βήμα 3) Εκτελέστε το σενάριο. Παρατηρήστε ότι το Δοκιμαστική θήκη πέρασε, πράγμα που σημαίνει ότι μπορέσαμε να κάνουμε εναλλαγή μεταξύ των παραθύρων και να επαληθεύσουμε τους τίτλους τους με επιτυχία.

Πολλαπλούς Windows

Να θυμάστε πάντα ότι η ρύθμιση του στόχου του selectWindow σε "null" θα επιλέξει αυτόματα το γονικό παράθυρο (σε αυτήν την περίπτωση, το παράθυρο όπου βρίσκεται το στοιχείο "link=here")

Σημείωση: Το Facebook άλλαξε τον τίτλο από τη δημιουργία των Tutorials. Παρακαλούμε τροποποιήστε τον κωδικό ανάλογα

Σύνοψη

  • Η εντολή "store" (και όλες οι παραλλαγές της) χρησιμοποιείται για την αποθήκευση μεταβλητών Selenium IDE
  • Η εντολή "echo" χρησιμοποιείται για την εκτύπωση μιας τιμής συμβολοσειράς ή μιας μεταβλητής
  • Οι μεταβλητές περικλείονται σε ${…} όταν εκτυπώνονται ή χρησιμοποιούνται σε στοιχεία
  • Selenium Το IDE πατά αυτόματα το κουμπί OK κατά το χειρισμό ειδοποιήσεων
  • Όταν χειρίζεστε τα παράθυρα διαλόγου επιβεβαίωσης, μπορείτε να δώσετε οδηγίες Selenium IDE ποια επιλογή να χρησιμοποιήσετε:
    • επιλέξτεOkOnNextConfirmation/chooseOkOnNextConfirmationAndWait
    • επιλέξτεCancelOnNextΕπιβεβαίωση
  • Οι τίτλοι παραθύρων χρησιμοποιούνται ως εντοπιστές κατά την εναλλαγή μεταξύ των παραθύρων του προγράμματος περιήγησης.
  • Όταν χρησιμοποιείτε την εντολή "selectWindow", ορίζετε το Target στο "null" θα κατευθύνει αυτόματα Selenium IDE για να επιλέξετε το γονικό παράθυρο.