qtp tutorial 7 qtp s object identification paradigm how qtp identify objects uniquely
Πώς το QTP αναγνωρίζει μοναδικά το αντικείμενο; - Αυτό είναι το 7ο σεμινάριο QTP στη σειρά εκπαίδευσης QTP.
Είμαστε εξοπλισμένοι με όλες τις βασικές έννοιες που θα μας επιτρέψουν να γράψουμε ισχυρές δοκιμές QTP . Έχουμε καλύψει το QTP Ρυθμίσεις εγγραφής και εκτέλεσης , Εργασία με προβολή λέξεων-κλειδιών και τα άλλα σχετικά θέματα.
=> Κάντε κλικ εδώ για τη σειρά εκπαιδευτικών εκπαιδευτικών QTP
Αυτό είναι το επόμενο άρθρο της σειράς που μιλά για μια κρίσιμη πτυχή του QTP - Ο μηχανισμός που χρησιμοποιεί για τον μοναδικό προσδιορισμό ενός αντικειμένου . Όταν κοιτάξετε την παρακάτω οθόνη:
Υπάρχουν 3 κουμπιά και 2 πλαίσια κειμένου μαζί με διάφορα άλλα στοιχεία σε αυτόν τον διάλογο.
Στα προηγούμενα παραδείγματα, όταν εισαγάγαμε το όνομα χρήστη και τον κωδικό πρόσβασης, είδαμε πώς το QTP κατέγραψε τις ίδιες λειτουργίες όσον αφορά τον κώδικα προγραμματισμού καθώς και έναν πίνακα στην προβολή λέξεων-κλειδιών. Τώρα, κατά τη διάρκεια της αναπαραγωγής πώς γνωρίζει το QTP ότι η τιμή που παρέχουμε ως όνομα πράκτορα ή κωδικός πρόσβασης πρέπει να πάει αντίστοιχα σε αυτά τα πλαίσια επεξεργασίας. Ή πώς ξέρει ποιο κουμπί να κάνει κλικ για να υποβάλει τις τιμές που έχουν εισαχθεί;
Ας προσπαθήσουμε να βρούμε μια απάντηση σε αυτό.
πού να βρείτε βίντεο εικονικής πραγματικότητας
Είναι σαφές ότι το QTP θυμάται κατά κάποιο τρόπο σε ποιο αντικείμενο πρέπει να ενεργήσει. Ο τρόπος με τον οποίο είναι, αποθηκεύει το αντικείμενο στο AUT ως αντικείμενο δοκιμής. Στη συνέχεια εξετάζει τις ιδιότητές του και ταξινομεί το αντικείμενο. Για παράδειγμα, όταν συναντά το κουμπί OK, εξετάζει τις ιδιότητές του και βάσει αυτών, ταξινομεί το αντικείμενο ως «WinButton».
Το QTP έχει ένα προκαθορισμένο σύνολο ιδιοτήτων που μαθαίνει / αποθηκεύει για κάθε κατηγορία αντικειμένων που προσδιορίζει. Υπάρχουν 3 πτυχές σε αυτό:
- Υποχρεωτικές ιδιότητες : Αυτή είναι η λίστα ιδιοτήτων για μια συγκεκριμένη κλάση που αποθηκεύει πάντα το QTP. Θα μπορούσαμε να πούμε ότι αυτή είναι η περιγραφή του αντικειμένου. Αυτό το ελέγχει επίσης σε συνδυασμό με το γονικό αντικείμενο για να δει αν η περιγραφή είναι επαρκής για να προσδιορίσει το αντικείμενο μοναδικά.
- Βοηθητικές ιδιότητες : Σε περίπτωση που η περιγραφή των υποχρεωτικών ιδιοτήτων δεν επαρκεί για τον προσδιορισμό του αντικειμένου, ένα σύνολο μη υποχρεωτικών ιδιοτήτων θα προστεθεί στην περιγραφή το ένα μετά το άλλο έως ότου υπάρχουν αρκετά δεδομένα για την αναγνώριση του αντικειμένου.
- Κανονικό αναγνωριστικό : Εάν οι βοηθητικές ιδιότητες επίσης δεν οδηγούν σε μια μοναδική αναγνώριση ενός αντικειμένου, ένα ειδικό αναγνωριστικό τακτικής προστίθεται από το QTP, όπως η τοποθεσία του αντικειμένου στη σελίδα ή στον πηγαίο κώδικα.
Έτσι, αυτός είναι ο τρόπος με τον οποίο το QTP σχηματίζει δοκιμαστικά αντικείμενα. Χρησιμοποιεί αυτήν την περιγραφή αντικειμένου δοκιμής για να αναζητήσει τα αντικείμενα που θα ενεργήσουν κατά τη διάρκεια μιας περιόδου λειτουργίας. Επιλέγει τα αντικείμενα που ταιριάζουν απόλυτα με την περιγραφή που περιέχει. Αυτά τα αντικείμενα ονομάζονται Αντικείμενα χρόνου εκτέλεσης.
Εκτός εάν η εφαρμογή σας έχει αλλάξει σημαντικά, η περιγραφή του αντικειμένου δοκιμής που διαθέτει το QTP είναι αρκετή για να βρείτε ένα αντικείμενο.
Για το αντικείμενο WinButton που έχουμε στην εφαρμογή Flight, ας δούμε ποιες ιδιότητες έχει αποθηκεύσει το QTP. Αυτές οι πληροφορίες είναι διαθέσιμες στο Object Repository. Η επιλογή μενού 'Πόροι -> Αντικείμενο αποθετηρίου' θα ξεκινήσει το OR για εμάς. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε το CTRL + R ή να κάνετε κλικ στο εικονίδιο.
Εάν παρατηρήσετε στο παραπάνω παράθυρο, θα αποθηκεύσει το «κείμενο» στο WinButton ως περιγραφή του για να αναγνωρίσει αυτό το κουμπί κατά το χρόνο εκτέλεσης.
Για πιο περίπλοκες εφαρμογές, ο ελεγκτής μπορεί να προσθέσει ή να αφαιρέσει ορισμένες ιδιότητες για να κάνει την περιγραφή αρκετά ισχυρή για να προσδιορίσει το αντικείμενο κατά τον χρόνο εκτέλεσης με μεγαλύτερη ακρίβεια. Για να το κάνετε αυτό, απλώς κάντε κλικ στο εικονίδιο «+».
Θα εμφανιστούν όλες οι άλλες ιδιότητες του αντικειμένου. Ο χρήστης μπορεί να επιλέξει να προσθέσει μία ή περισσότερες από αυτές τις ιδιότητες.
Υπάρχει επίσης κάτι που ονομάζεται « Αναγνωριστικό οπτικής σχέσης Στην οθόνη OR για τις ιδιότητες WinButton.
Αυτό είναι ένα χαρακτηριστικό που υποστηρίζει περαιτέρω την αναγνώριση αντικειμένων σύμφωνα με τα γειτονικά τους αντικείμενα στο AUT. Μόλις οριστεί, αυτό δημιουργεί ένα είδος συνδέσμου για τα λιγότερο σταθερά στοιχεία στο AUT σας με τα αντικείμενα που είναι πιο μοναδικά αναγνωρίσιμα. Το QTP θα αναγνωρίσει αυτά τα αντικείμενα εφόσον διατηρούν τη σχετική τους θέση σε αυτά τα μοναδικά αντικείμενα.
Για να ορίσετε ένα είδος συνδέσμου θέσης θα πρέπει να κάνουμε κλικ σε αυτήν τη στήλη στο OR και εμφανίζεται η ακόλουθη οθόνη:
Σε αυτήν την οθόνη, επιλέξτε το σύμβολο «+» για να προσθέσετε ένα αντικείμενο με το οποίο θέλετε το δοκιμαστικό σας αντικείμενο να έχει έναν σύνδεσμο θέσης.
Θα επιλέξω 'Όνομα πράκτορα' και θα πω ότι αυτό το αντικείμενο πρέπει να βρίσκεται πάνω από το κουμπί 'ΟΚ'.
Έτσι το έκανα:
Τώρα, σε περίπτωση που κάποιες ιδιότητες του κουμπιού OK αλλάξουν στο μέλλον, το QTP θα το αναγνωρίσει εάν, το 'Agent Name' βρίσκεται πάνω από αυτό.
Έξυπνη αναγνώριση
πώς να ρυθμίσετε το maven στην έκλειψη
Αυτός είναι ο μηχανισμός που χρησιμοποιεί το QTP σε μία από αυτές τις δύο καταστάσεις. Η περιγραφή για ένα αντικείμενο που έχει το QTP:
- Δεν ταιριάζει με αντικείμενα χρόνου εκτέλεσης
- Ταιριάζει με πολλά αντικείμενα
Αυτό είναι λίγο προηγμένο concept, οπότε θα το φτάσουμε αργότερα μέσω μερικών παραδειγμάτων για εύκολη και περίπλοκη κατανόηση.
Κανονικό αναγνωριστικό
Αυτή είναι μια αριθμητική τιμή που απεικονίζει τη σχετική σειρά του αντικειμένου με αντικείμενα που έχουν παρόμοια περιγραφή. Εάν ένα αντικείμενο 1 και το αντικείμενο 2 έχουν τις ίδιες υποχρεωτικές και βοηθητικές ιδιότητες, τότε το αναγνωριστικό τακτικής θα χρησιμοποιηθεί για την μοναδική αναγνώριση του αντικειμένου.
Αυτή η τιμή σχετίζεται με τα άλλα αντικείμενα της οθόνης, οπότε σε περίπτωση που αλλάξει κάτι στην οθόνη, αυτό το αναγνωριστικό ενδέχεται να μην είναι χρήσιμο. Θα πρέπει να σημειωθεί ότι, εάν οι υποχρεωτικές και βοηθητικές ιδιότητες είναι αρκετές, τότε ένα αναγνωριστικό τακτικής δεν έχει εκχωρηθεί για εγγραφή. Μπορεί να προστεθεί αργότερα κάνοντας κλικ στην αντίστοιχη στήλη για το αντικείμενο στο OR
Υπάρχουν 3 είδη κοινών αναγνωριστικών:
- Δείκτης: βασίζεται στη σειρά εμφάνισης ενός αντικειμένου στον κώδικα εφαρμογής
- Τοποθεσία: με βάση την τοποθεσία σε οθόνη ή διάλογο ή σελίδα
- Χρόνος δημιουργίας: Αυτό χρησιμοποιείται μόνο για αντικείμενα του προγράμματος περιήγησης. Σε περίπτωση που υπάρχουν 2 προγράμματα περιήγησης με παρόμοιες ιδιότητες, τότε θεωρείται αυτό που δημιουργείται πρώτο και επόμενο.
Για παράδειγμα, ας καταλάβουμε πώς λειτουργεί το αναγνωριστικό «ευρετηρίου» στην οθόνη σύνδεσης των εφαρμογών πτήσης:
Αυτά είναι τα ακόλουθα στοιχεία:
Όπως μπορείτε να δείτε, το στατικό κείμενο και τα πλαίσια επεξεργασίας έχουν την ίδια ιδιότητα «κειμένου».
Εάν ξέρω ότι ένα από αυτά είναι ένα στατικό κείμενο και το άλλο είναι το αντικείμενο WinEdit, τότε δεν υπάρχει κανένα πρόβλημα. Πείτε αν όλα αυτά αντιμετωπίζονται ως WinObject, τότε θα πρέπει να καθορίσω σε ποιο αντικείμενο θα ενεργήσω. Αυτό θα συμβεί μόνο όταν η υποχρεωτική, βοηθητική και έξυπνη αναγνώριση έχει αποτύχει. Έτσι, για να πω στο QTP ποιο είναι αυτό, πρόκειται να εκχωρήσω ένα αναγνωριστικό τακτικής «Ευρετήριο». Θα το κάνω από το OR.
Θα ορίσω το αναγνωριστικό στατικού κειμένου ονόματος παράγοντα ως 0 και για το πλαίσιο επεξεργασίας, θα το ορίσω ως 1.
Έτσι φαίνεται:
Επομένως, εάν πρέπει να έχω πρόσβαση στο στατικό κείμενο, τότε θα το κάνω ως εξής:
WinObject ('κείμενο: = Όνομα πράκτορα:', ευρετήριο: = 0) - Αυτό θα αναφέρεται στο στατικό κείμενο
WinObject ('κείμενο: = Όνομα πράκτορα:', ευρετήριο: = 1) - Αυτό θα αναφέρεται στο πλαίσιο Επεξεργασία
Η ίδια θεωρία ισχύει και για το αναγνωριστικό θέσης εκτός από το ότι θα επιλέξουμε την τοποθεσία στο παράθυρο για να προσδιορίσουμε την αριθμητική τιμή που ισχύει για ένα συγκεκριμένο αντικείμενο.
Διαμόρφωση ιδιοτήτων αναγνώρισης αντικειμένου:
Οι υποχρεωτικές, βοηθητικές ιδιότητες και αναγνωριστικά τακτικής που πρέπει να ληφθούν υπόψη για ένα αντικείμενο μιας συγκεκριμένης κλάσης που θα αναγνωριστεί μπορούν να διαμορφωθούν χρησιμοποιώντας το 'Tools-> Object Identifier'. Μπορούμε επίσης να ορίσουμε τις έξυπνες ιδιότητες αναγνώρισης μέσω αυτού του παραθύρου.
Το παράθυρο έχει ως εξής:
Όπως φαίνεται σε αυτήν την παραπάνω εικόνα, το περιβάλλον μπορεί να επιλεγεί από το αναπτυσσόμενο πλαίσιο. Μόλις επιλεγεί, οι κατηγορίες αντικειμένων στα αντίστοιχα περιβάλλοντα εμφανίζονται στη λίστα. Αφού επιλεγεί ένα αντικείμενο, εμφανίζονται οι υποχρεωτικές και βοηθητικές ιδιότητες. Ο χρήστης μπορεί να προσθέσει / αφαιρέσει επιπλέον ιδιότητες σε αυτήν τη λίστα.
Επίσης, η έξυπνη αναγνώριση μπορεί να ενεργοποιηθεί / απενεργοποιηθεί για μια συγκεκριμένη κατηγορία αντικειμένων όταν χρειάζεται. Για να ορίσετε το αναγνωριστικό τακτικής υπάρχει ένα αναπτυσσόμενο μενού που μπορεί να επιλεγεί για την αναγνώριση του αντικειμένου χρησιμοποιώντας Τοποθεσία, Ευρετήριο ή Χρόνος δημιουργίας (μόνο για τύπο προγράμματος περιήγησης).
Θα ολοκληρώσουμε τις βασικές έννοιες προτού προχωρήσουμε σε πλήρη προγράμματα QTP. Το επόμενο άρθρο QTP θα έχει διαφορετικές λειτουργίες εγγραφής, Αντικείμενο Spy, Object Repository κ.λπ. λεπτομέρειες.
=> Επισκεφθείτε εδώ για τη σειρά εκπαιδευτικών εκπαιδευτικών QTP
Συνιστώμενη ανάγνωση
- Αντικείμενο αποθετηρίου στο QTP - Tutorial # 22
- Εκμάθηση QTP # 18 - Προγράμματα βάσει δεδομένων και υβριδικά πλαίσια που εξηγούνται με παραδείγματα QTP
- Εκμάθηση QTP # 24 - Χρήση εικονικών αντικειμένων και σεναρίων αποκατάστασης σε δοκιμές QTP
- Εκμάθηση QTP # 6 - Κατανόηση της εγγραφής QTP και των ρυθμίσεων εκτέλεσης για την πρώτη μας δοκιμή
- QTP Tutorial # 23 - Αναγνώριση έξυπνου αντικειμένου QTP, Σημείο συγχρονισμού και ανάλυση αποτελεσμάτων δοκιμής
- QTP Tutorial # 8 - Μάθετε σχετικά με τους τρόπους εγγραφής QTP, το Spy Spy και το Repositories αντικειμένων
- Παράμετρος στο QTP (Μέρος 2) - QTP Tutorial # 20
- Tutorials QTP - 25+ Εκπαιδευτικά σεμινάρια Micro Focus Quick Test Professional (QTP)