Θα χρησιμοποιήσουμε τον ιστότοπο Mercury Tours ως δοκιμαστική εφαρμογή ιστού. Είναι ένα διαδικτυακό σύστημα κρατήσεων πτήσεων που περιέχει όλα τα στοιχεία που χρειαζόμαστε για αυτό το σεμινάριο. Η διεύθυνση URL της είναι http://demo.guru99.com/test/newtours/ και αυτή θα είναι η βασική διεύθυνση URL.
Δημιουργήστε ένα σενάριο με εγγραφή
Ας δημιουργήσουμε τώρα το πρώτο δοκιμαστικό σενάριο στο Selenium IDE χρησιμοποιώντας την πιο κοινή μέθοδο - καταγράφοντας. Στη συνέχεια, θα εκτελέσουμε το σενάριό μας χρησιμοποιώντας τη δυνατότητα αναπαραγωγής.
Βήμα 1
- Εκκινήστε το Firefox και το Selenium IDE.
- Πληκτρολογήστε την τιμή για το Βασικό URL: http://demo.guru99.com/test/newtours/.
- Ενεργοποιήστε το κουμπί Εγγραφή ενεργοποιημένο (εάν δεν είναι ακόμη ενεργοποιημένο από προεπιλογή).
Βήμα 2
Στο Firefox, μεταβείτε στη διεύθυνση http://demo.guru99.com/test/newtours/. Ο Firefox θα σας οδηγήσει στη σελίδα παρόμοια με αυτήν που φαίνεται παρακάτω. |
|
Βήμα 3
|
|
Βήμα 4
|
|
Βήμα 5
|
|
Βήμα 6
Απενεργοποιήστε το κουμπί εγγραφής για να σταματήσετε την εγγραφή. Το σενάριό σας θα πρέπει τώρα να μοιάζει με αυτό που φαίνεται παρακάτω. |
|
Βήμα 7
Τώρα που τελειώσαμε με το δοκιμαστικό σενάριό μας, θα το αποθηκεύσουμε σε δοκιμαστική θήκη. Στο μενού Αρχείο, επιλέξτε "Αποθήκευση δοκιμαστικής θήκης". Εναλλακτικά, μπορείτε απλά να πατήσετε Ctrl + S. |
|
Βήμα 8
|
|
Βήμα 9.
Παρατηρήστε ότι το αρχείο αποθηκεύτηκε ως HTML. |
Βήμα 10.
Επιστρέψτε στο Selenium IDE και κάντε κλικ στο κουμπί Αναπαραγωγή για να εκτελέσετε ολόκληρο το σενάριο. Το Selenium IDE θα πρέπει να μπορεί να αναπαράγει τα πάντα άψογα.
Εισαγωγή στο Selenium Commands - Selenese
- Οι εντολές Selenese μπορούν να έχουν έως και δύο παραμέτρους: στόχο και τιμή.
- Οι παράμετροι δεν απαιτούνται συνεχώς. Εξαρτάται από τον αριθμό των εντολών που θα χρειαστούν.
3 τύποι εντολών
Ενέργειες |
Αυτές είναι εντολές που αλληλεπιδρούν άμεσα με στοιχεία σελίδας. Παράδειγμα: η εντολή "κλικ" είναι μια ενέργεια επειδή αλληλεπιδράτε άμεσα με το στοιχείο στο οποίο κάνετε κλικ. Η εντολή "type" είναι επίσης μια ενέργεια επειδή βάζετε τιμές σε ένα πλαίσιο κειμένου και το πλαίσιο κειμένου τις εμφανίζει σε αντάλλαγμα. Υπάρχει αμφίδρομη αλληλεπίδραση μεταξύ εσάς και του πλαισίου κειμένου. |
Αξεσουάρ |
Είναι εντολές που σας επιτρέπουν να αποθηκεύετε τιμές σε μια μεταβλητή. Παράδειγμα: η εντολή "storeTitle" είναι προσπελάστης επειδή "διαβάζει" μόνο τον τίτλο της σελίδας και την αποθηκεύει σε μια μεταβλητή. Δεν αλληλεπιδρά με κανένα στοιχείο της σελίδας. |
Ισχυρισμοί |
Είναι εντολές που επαληθεύουν εάν πληρούται μια συγκεκριμένη συνθήκη. 3 Τύποι ισχυρισμών
|
Επιβεβαίωση έναντι επαλήθευσης
Κοινές εντολές
Εντολή | Αριθμός παραμέτρων | Περιγραφή |
---|---|---|
Άνοιξε | 0 - 2 |
Ανοίγει μια σελίδα χρησιμοποιώντας μια διεύθυνση URL. |
click / clickAndWait | 1 |
Κάντε κλικ σε ένα καθορισμένο στοιχείο. |
type / typeKeys | 2 |
Πληκτρολογεί μια ακολουθία χαρακτήρων. |
verifikasiTitle / assertTitle | 1 |
Συγκρίνει τον πραγματικό τίτλο της σελίδας με την αναμενόμενη τιμή. |
verifikasiTextPresent | 1 |
Ελέγχει εάν κάποιο συγκεκριμένο κείμενο βρίσκεται μέσα στη σελίδα. |
verifyElementPresent | 1 |
Ελέγχει την παρουσία ενός συγκεκριμένου στοιχείου. |
Πίνακας επαλήθευσης | 2 |
Συγκρίνει τα περιεχόμενα ενός πίνακα με τις αναμενόμενες τιμές. |
waitForPageToLoad | 1 |
Παύει την εκτέλεση έως ότου φορτωθεί πλήρως η σελίδα. |
waitForElementPresent | 1 |
Παύει την εκτέλεση έως ότου εμφανιστεί το καθορισμένο στοιχείο. |
Δημιουργήστε ένα σενάριο μη αυτόματα με το Firebug
Τώρα, θα δημιουργήσουμε ξανά την ίδια δοκιμαστική θήκη, πληκτρολογώντας τις εντολές. Αυτή τη φορά, θα πρέπει να χρησιμοποιήσουμε το Firebug.
Βήμα 1
|
Βήμα 2: Κάντε κλικ στην επάνω κενή γραμμή του προγράμματος επεξεργασίας. |
Πληκτρολογήστε "open" στο πλαίσιο κειμένου Command και πατήστε Enter. |
Βήμα 3
|
Βήμα 4
|
Βήμα 5
|
Κάντε κλικ στο πλαίσιο κειμένου Όνομα χρήστη. Σημειώστε ότι το Firebug εμφανίζει αυτόματα τον κώδικα HTML για αυτό το στοιχείο. |
Βήμα 6
Σημειώστε ότι το πλαίσιο κειμένου Όνομα χρήστη δεν έχει αναγνωριστικό, αλλά έχει ένα χαρακτηριστικό NAME. Ως εκ τούτου, θα χρησιμοποιήσουμε το ΟΝΟΜΑ του ως εντοπιστή. Αντιγράψτε την τιμή NAME και επικολλήστε την στο πεδίο Target στο Selenium IDE. Ακόμα στο πλαίσιο κειμένου Target, πρόθεμα "userName" με "name =", υποδεικνύοντας ότι το Selenium IDE πρέπει να στοχεύει ένα στοιχείο του οποίου το χαρακτηριστικό NAME είναι "userName" Πληκτρολογήστε "validUN" στο πλαίσιο κειμένου Value του Selenium IDE. Το δοκιμαστικό σας σενάριο θα πρέπει τώρα να μοιάζει με την παρακάτω εικόνα. Τελειώσαμε με την τρίτη εντολή. Σημείωση: Αντί για μη έγκυροUN, μπορείτε να εισαγάγετε οποιαδήποτε άλλη συμβολοσειρά κειμένου. Ωστόσο, το Selenium IDE είναι πεζά και γράφετε τιμές / χαρακτηριστικά όπως ακριβώς στην εφαρμογή. |
Βήμα 7
|
Βήμα 8
|
Βήμα 9: Αποθηκεύστε τη δοκιμαστική θήκη με τον ίδιο τρόπο που κάναμε στην προηγούμενη ενότητα.
Χρησιμοποιώντας το κουμπί Εύρεση
Το κουμπί Εύρεση στο Selenium IDE χρησιμοποιείται για να επιβεβαιώσει εάν αυτό που είχαμε τοποθετήσει στο πλαίσιο κειμένου Target είναι πράγματι το σωστό στοιχείο διεπαφής χρήστη.
Ας χρησιμοποιήσουμε τη δοκιμαστική περίπτωση Invalid_login που δημιουργήσαμε στις προηγούμενες ενότητες. Κάντε κλικ σε οποιαδήποτε εντολή με καταχώρηση Target, ας πούμε, την τρίτη εντολή
Κάντε κλικ στο κουμπί Εύρεση. Παρατηρήστε ότι το πλαίσιο κειμένου Όνομα χρήστη στη σελίδα Mercury Tours επισημαίνεται για ένα δευτερόλεπτο.
Αυτό δείχνει ότι το Selenium IDE μπόρεσε να εντοπίσει και να αποκτήσει πρόσβαση στο αναμενόμενο στοιχείο σωστά. Εάν το κουμπί Εύρεση επισημαίνει ένα διαφορετικό στοιχείο ή καθόλου στοιχείο, τότε πρέπει να υπάρχει κάτι λάθος με το σενάριό σας.
Εκτέλεση εντολής
Αυτό σας επιτρέπει να εκτελέσετε οποιαδήποτε μεμονωμένη εντολή χωρίς να εκτελέσετε ολόκληρη τη δοκιμαστική θήκη . Απλώς κάντε κλικ στη γραμμή που θέλετε να εκτελέσετε και στη συνέχεια είτε κάντε κλικ στο "Ενέργειες> Εκτέλεση αυτής της εντολής" από τη γραμμή μενού ή απλά πατήστε "X" στο πληκτρολόγιό σας.
Βήμα 1. Βεβαιωθείτε ότι το πρόγραμμα περιήγησής σας βρίσκεται στην αρχική σελίδα του Mercury Tours. Κάντε κλικ στην εντολή που θέλετε να εκτελέσετε. Σε αυτό το παράδειγμα, κάντε κλικ στη γραμμή "type | userName | validUN".
Βήμα 2. Πατήστε "X" στο πληκτρολόγιό σας.
Βήμα 3. Παρατηρήστε ότι το πλαίσιο κειμένου για το όνομα χρήστη συμπληρώνεται με το κείμενο "validUN"
Η εκτέλεση εντολών με αυτόν τον τρόπο εξαρτάται σε μεγάλο βαθμό από τη σελίδα που εμφανίζει ο Firefox αυτήν τη στιγμή . Αυτό σημαίνει ότι εάν δοκιμάσετε το παραπάνω παράδειγμα με την αρχική σελίδα Google που εμφανίζεται αντί για το Mercury Tours ', τότε το βήμα σας θα αποτύχει επειδή δεν υπάρχει πλαίσιο κειμένου με το χαρακτηριστικό "userName" στην αρχική σελίδα του Google.
Σημείο εκκίνησης
Ένα σημείο εκκίνησης είναι ένας δείκτης που λέει στο Selenium IDE ποιες γραμμές θα ξεκινήσει η εκτέλεση . Το πλήκτρο συντόμευσης είναι "S".
Στο παραπάνω παράδειγμα, η αναπαραγωγή θα ξεκινήσει στην τρίτη γραμμή (τύπος | κωδικός πρόσβασης | άκυρηPW). Μπορείτε να έχετε μόνο ένα σημείο εκκίνησης σε ένα μόνο σενάριο δοκιμής.
Το σημείο εκκίνησης είναι παρόμοιο με το Εκτελέστε την εντολή έτσι ώστε να εξαρτώνται από τη σελίδα που εμφανίζεται αυτήν τη στιγμή. Το σημείο εκκίνησης θα αποτύχει εάν βρίσκεστε σε λάθος σελίδα.
ορια ΑΝΤΟΧΗΣ
Τα σημεία διακοπής είναι δείκτες που λένε στο Selenium IDE πού να διακόψει αυτόματα το τεστ. Το πλήκτρο συντόμευσης είναι "B".
Η κίτρινη επισήμανση σημαίνει ότι το τρέχον βήμα εκκρεμεί. Αυτό αποδεικνύει ότι το Selenium IDE έχει σταματήσει την εκτέλεση σε αυτό το βήμα. Μπορείτε να έχετε πολλά σημεία διακοπής σε μία δοκιμαστική περίπτωση.
Βήμα
Σας επιτρέπει να εκτελείτε τις επόμενες εντολές μία κάθε φορά μετά την παύση της δοκιμαστικής θήκης. Ας χρησιμοποιήσουμε το σενάριο στην προηγούμενη ενότητα "Breakpoints".
Πριν κάνετε κλικ στο "Βήμα". Η δοκιμαστική υπόθεση σταματά στη γραμμή "clickAndWait | login". |
|
Αφού κάνετε κλικ στο "Βήμα". Η γραμμή "clickAndWait | login" εκτελείται και σταματά στην επόμενη εντολή (verifikasiTitle | Sign-on: Mercury Tours). Παρατηρήστε ότι η επόμενη γραμμή είναι σε παύση παρόλο που δεν υπάρχει σημείο διακοπής εκεί. Αυτός είναι ο κύριος σκοπός της λειτουργίας Βήμα - εκτελεί τις επόμενες εντολές μία κάθε φορά για να σας δώσει περισσότερο χρόνο για να ελέγξετε το αποτέλεσμα μετά από κάθε βήμα. |
Σημαντικά πράγματα που πρέπει να λάβετε υπόψη κατά τη χρήση άλλων μορφών στην προβολή πηγής
Το Selenium IDE λειτουργεί καλά μόνο με HTML - άλλες μορφές βρίσκονται ακόμη σε πειραματική λειτουργία . ΔΕΝ είναι σκόπιμο να δημιουργείτε ή να επεξεργάζεστε δοκιμές χρησιμοποιώντας άλλες μορφές στην Προβολή προέλευσης, επειδή χρειάζεται ακόμη πολλή δουλειά για να γίνει σταθερή. Ακολουθούν τα γνωστά σφάλματα από την έκδοση 1.9.1.
- Δεν θα μπορείτε να εκτελέσετε αναπαραγωγή ούτε να επιστρέψετε στην Προβολή πίνακα εκτός εάν επιστρέψετε σε HTML.
- Ο μόνος τρόπος να προσθέσετε εντολές με ασφάλεια στον πηγαίο κώδικα είναι να τις καταγράψετε.
- Όταν τροποποιείτε τον πηγαίο κώδικα με μη αυτόματο τρόπο, θα χαθεί όταν μεταβείτε σε άλλη μορφή.
- Αν και μπορείτε να αποθηκεύσετε τη δοκιμαστική θήκη σας ενώ βρίσκεστε στην προβολή προέλευσης, το Selenium IDE δεν θα μπορεί να το ανοίξει.
Ο προτεινόμενος τρόπος για να μετατρέψετε τις δοκιμές σελήνης είναι να χρησιμοποιήσετε την επιλογή "Εξαγωγή υπόθεσης ως…" στο μενού Αρχείο και όχι μέσω της προβολής πηγής.
Περίληψη
- Τα σενάρια δοκιμής μπορούν να δημιουργηθούν είτε καταγράφοντας είτε πληκτρολογώντας χειροκίνητα τις εντολές και τις παραμέτρους.
- Κατά τη δημιουργία χειρογράφων χειροκίνητα, το Firebug χρησιμοποιείται για να πάρει τον εντοπιστή.
- Το κουμπί Εύρεση χρησιμοποιείται για να ελέγξει ότι η εντολή μπορεί να έχει πρόσβαση στο σωστό στοιχείο.
- Η προβολή πίνακα εμφανίζει ένα δοκιμαστικό σενάριο σε μορφή πίνακα, ενώ η προβολή προέλευσης το εμφανίζει σε μορφή HTML.
- Η αλλαγή της προβολής πηγής σε μορφή εκτός HTML είναι ακόμη πειραματική.
- Μην χρησιμοποιείτε την προβολή προέλευσης για τη δημιουργία δοκιμών σε άλλες μορφές. Χρησιμοποιήστε τις δυνατότητες εξαγωγής.
- Οι παράμετροι δεν απαιτούνται συνεχώς. Εξαρτάται από την εντολή.
- Υπάρχουν τρεις τύποι εντολών:
- Ενέργειες - αλληλεπιδρά άμεσα με στοιχεία σελίδας
- Accessors - "διαβάζει" μια ιδιότητα στοιχείου και την αποθηκεύει σε μια μεταβλητή
- Assertions - συγκρίνει μια πραγματική τιμή με μια αναμενόμενη
- Οι ισχυρισμοί έχουν τρεις τύπους:
- Επιβεβαίωση - μετά από αποτυχία, τα επόμενα βήματα δεν εκτελούνται πλέον
- Επαλήθευση - κατά την αποτυχία, τα επόμενα βήματα εξακολουθούν να εκτελούνται.
- WaitFor - περνά εάν η καθορισμένη συνθήκη γίνει αληθινή εντός του χρονικού ορίου. Διαφορετικά, θα αποτύχει
- Οι πιο κοινές εντολές είναι:
- Άνοιξε
- click / clickAndWait
- type / typeKeys
- verifikasiTitle / assertTitle
- verifikasiTextPresent
- verifyElementPresent
- Πίνακας επαλήθευσης
- waitForPageToLoad
- waitForElementPresent