GetRoProperty, GetToProperty σε QTP/UFT με Παράδειγμα
⚡ Έξυπνη Σύνοψη
Το Object Spy αποκαλύπτει τις ιδιότητες και τις μεθόδους οποιουδήποτε στοιχείου ελέγχου στην υπό δοκιμή εφαρμογή, ενώ τα GetROProperty, GetTOProperty και SetTOProperty διαβάζουν και γράφουν αυτές τις τιμές ιδιοτήτων από ένα QTP or UFT Ένα σενάριο κατά τον χρόνο εκτέλεσης.
Αυτό το σεμινάριο δείχνει Αντικείμενο κατάσκοπος.
Το Object Spy μπορεί να σας βοηθήσει να προσδιορίσετε τις χρήσιμες ιδιότητες και μεθόδους που σχετίζονται με ένα αντικείμενο στο περιβάλλον σας.
Το HP/Micro Focus UFT tutorials επίσης περιγράφει GetROProperty, GetTOProperty και SetTOProperty.
⚠️ Σημείωση έκδοσης: Το εργαλείο που περιγράφεται εδώ αποστέλλεται ως HP QuickTest Professional, γίνεται Micro Focus Unified Functional Testing και πωλείται σήμερα ως OpenText Λειτουργικές δοκιμές (UFT Ενας)Το Object Spy και οι τρεις μέθοδοι εξακολουθούν να λειτουργούν ακριβώς όπως περιγράφεται παρακάτω.
Πατήστε εδώ εάν το βίντεο δεν είναι προσβάσιμο
Αντικείμενο κατάσκοπος
- Το Object Spy είναι ένα χαρακτηριστικό στο QTP χρησιμοποιώντας το οποίο μπορείτε να δείτε τις ιδιότητες και τις μεθόδους του αντικειμένου τόσο κατά τη δοκιμή όσο και κατά τον χρόνο εκτέλεσης.
- Δίνει επίσης τη σύνταξη για μια επιλεγμένη μέθοδο.
- Το Object Spy παρέχει την πλήρη ιεραρχία του αντικειμένου που έχετε επιλέξει.
Αυτή η ιεραρχία έχει σημασία, επειδή ένα όνομα ιδιότητας που αντιγράφεται από το Object Spy είναι η ακριβής συμβολοσειρά που αναμένουν οι τρεις μέθοδοι παρακάτω. Η κατασκοπεία ενός αντικειμένου είναι επομένως το πρώτο βήμα σχεδόν σε κάθε εργασία ανάκτησης ιδιότητας.
GetROProperty
- GetROProperty – είναι μια ενσωματωμένη μέθοδος που χρησιμοποιείται για την ανάκτηση της τιμής εκτέλεσης μιας ιδιότητας αντικειμένου.
Υπάρχουν 4 βήματα που εμπλέκονται στη χρήση του GetROProperty:
- Καταγράψτε το αντικείμενο στο οποίο θέλετε να χρησιμοποιήσετε την ιδιότητα GetROProperty. Αποθήκη αντικειμένων.
- Για το καταγεγραμμένο αντικείμενο, προσδιορίζει την ιδιότητα χρόνου εκτέλεσης που θα μπορούσε να χρησιμοποιηθεί. Μπορείτε να χρησιμοποιήσετε το Object Spy.
- Χρησιμοποιήστε τη μέθοδο GetROProperty για να ανακτήσετε την αναγνωρισμένη ιδιότητα Run-time και να αποθηκεύσετε την τιμή σε μια μεταβλητή.
- Χρησιμοποιήστε αυτήν την τιμή για περαιτέρω εκπτώσεις.
Επειδή η τιμή διαβάζεται από τον ζωντανό έλεγχο, η εφαρμογή πρέπει να είναι ανοιχτή και το αντικείμενο πρέπει να υπάρχει στην οθόνη όταν εκτελείται η γραμμή.
SetTOProperty & GetTOProperty
- Θεωρήστε ένα κουμπί ιστού που είναι αποθηκευμένο στο αποθετήριο αντικειμένων
- Όταν εκτελείται η δοκιμή QTP δημιουργεί ένα αντίγραφο αυτού του αντικειμένου που ονομάζεται Test Object και το συγκρίνει με το Run Time Object
- Χρησιμοποιώντας την εντολή GetTOProperty, μπορείτε να ανακτήσετε την τιμή μιας ιδιότητας του Test Object.
- Χρησιμοποιώντας το SetTOProperty μπορείτε να αλλάξετε την τιμή της ιδιότητας ενός αντικειμένου δοκιμής
- Όταν ολοκληρωθεί η δοκιμή, αυτό το αντικείμενο δοκιμής απορρίπτεται, όπως και τυχόν τροποποιήσεις που κάνατε στις ιδιότητες του αντικειμένου χρησιμοποιώντας την εντολή SetTOProperty.
- Όταν η δοκιμή εκτελείται ξανά, δημιουργείται ένα νέο αντίγραφο του αντικειμένου δοκιμής με τις αρχικές τιμές ιδιοτήτων που είναι αποθηκευμένες στο χώρο αποθήκευσης αντικειμένων
- Μπορείτε να εξετάσετε το ενδεχόμενο χρήσης των GetTOProperty και SetTOProperty όταν το δοκιμαστικό σας σενάριο έχει πολλές γραμμές κώδικα και το περιβάλλον σας είναι σποραδικό.
- Για μια σημείωση, δεν υπάρχει SetROProperty
Σύνταξη και Παραδείγματα
Και οι τρεις μέθοδοι καλούνται σε ένα αντικείμενο δοκιμής στο τέλος της ιεραρχίας του και και οι τρεις δέχονται ένα όνομα ιδιότητας περιγραφής ως συμβολοσειρά. Ο πίνακας δίνει την υπογραφή καθεμίας.
| Μέθοδος | Σύνταξη | Διαβάζει ή γράφει |
|---|---|---|
| GetROProperty | object.GetROProperty(Ιδιότητα) | Διαβάζει τον ζωντανό έλεγχο στην εφαρμογή |
| GetTOProperty | object.GetTOProperty(Ιδιότητα) | Διαβάζει την αποθηκευμένη περιγραφή του αντικειμένου δοκιμής |
| ΟρισμόςιδιότηταςTO | object.SetTOProperty Ιδιότητα, Τιμή | Γράφει την περιγραφή του αντικειμένου δοκιμής μόνο για αυτήν την εκτέλεση |
Η ανάγνωση μιας τιμής χρόνου εκτέλεσης γίνεται με μία μόνο εντολή. Αυτό το παράδειγμα, που προέρχεται από το επίσημη αναφορά ανάκτησης και καθορισμού τιμών, τραβάει τη διεύθυνση-στόχο ενός συνδέσμου κατά τη διάρκεια της συνεδρίας εκτέλεσης.
link_href = Browser("Technologies").Page("Technologies").Link("Jobs").GetROProperty("href")
Η εγγραφή και στη συνέχεια η ανάγνωση μιας ιδιότητας αντικειμένου δοκιμής είναι εξίσου σύντομη. Το παρακάτω ζεύγος ορίζει το όνομα του κουμπιού Υποβολής στο κουμπί μου και διαβάζει την ίδια τιμή κατευθείαν πίσω.
Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").SetTOProperty "Name", "my button" ButtonName = Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").GetTOProperty("Name")
Μια τυπική επαλήθευση ενώνει τις δύο ιδέες: διαβάζει την τιμή χρόνου εκτέλεσης με το GetROProperty και, στη συνέχεια, τη συγκρίνει με αυτό που αναμένει η δοκιμή.
strValue = Browser("Welcome").Page("Find a Flight").WebList("fromPort").GetROProperty("selection") If strValue = "Acapulco" Then Reporter.ReportEvent micPass, "Default city", "Default city is correct" Else Reporter.ReportEvent micFail, "Default city", "Unexpected value: " & strValue End If
Διαφορά μεταξύ GetROProperty και GetTOProperty
Τα δύο ονόματα διαφέρουν κατά ένα γράμμα και είναι το πιο συγκεχυμένο ζεύγος στο εργαλείο. Το RO σημαίνει αντικείμενο χρόνου εκτέλεσης, το TO σημαίνει αντικείμενο δοκιμής και το καθένα διαβάζεται από διαφορετικό σημείο.
| Σημείο σύγκρισης | GetROProperty | GetTOProperty |
|---|---|---|
| Πηγή της αξίας | Ο ζωντανός έλεγχος στην εφαρμογή που εκτελείται | Η περιγραφή που αποθηκεύεται για το αντικείμενο δοκιμής |
| Η εφαρμογή πρέπει να είναι ανοιχτή | Ναι | Οχι |
| Βλέπει μια αλλαγή στο SetTOProperty | Οχι | Ναι, για την τρέχουσα διαδρομή |
| Τυπική χρήση | Επαλήθευση του τι βλέπει πραγματικά ο χρήστης | Έλεγχος ή εντοπισμός σφαλμάτων στον τρόπο αναγνώρισης του αντικειμένου |
| Ταίριασμα πασαδόρου | Καμία — δεν υπάρχει SetROProperty | ΟρισμόςιδιότηταςTO |
Μια επεξεργασμένη αντίθεση καθιστά τον διαχωρισμό προφανή. Ορίστε ένα αναγνωριστικό html σε μια λίστα που δεν έχει κανένα και, στη συνέχεια, διαβάστε το ξανά και προς τις δύο κατευθύνσεις: Το GetROProperty επιστρέφει μια κενή συμβολοσειρά επειδή η εφαρμογή δεν άλλαξε ποτέ, ενώ το GetTOProperty επιστρέφει την τιμή που μόλις γράφτηκε στην περιγραφή.
Συνηθισμένα σφάλματα και πώς να τα διορθώσετε
Η ανάκτηση ιδιότητας αποτυγχάνει για έναν μικρό αριθμό προβλέψιμων λόγων. Ο πίνακας παραθέτει αυτούς που συναντούν συχνότερα οι δοκιμαστές.
| Σύμπτωμα | Αιτία | σταθερός |
|---|---|---|
| Η κλήση επιστρέφει μια κενή συμβολοσειρά | Το όνομα της ιδιότητας είναι λανθασμένο ή το αντικείμενο δεν το εκθέτει | Παρακολουθήστε ξανά το αντικείμενο και αντιγράψτε το όνομα της ιδιότητας ακριβώς όπως αναφέρεται |
| Δεν βρέθηκε αντικείμενο στη γραμμή GetROProperty | Ο έλεγχος δεν είχε ακόμη αποδοθεί | Προσθήκη βήματος συγχρονισμού πριν από την ανάγνωση |
| Η GetROProperty αγνοεί μια αλλαγή στην SetTOProperty | Οι δύο μέθοδοι αντιμετωπίζουν διαφορετικά αντικείμενα μέσω σχεδιασμού | Διαβάστε την αλλαγή πίσω με GetTOProperty αντί αυτού |
| Μια αλλαγή στο SetTOProperty εξαφανίζεται | Οι επεξεργασίες του δοκιμαστικού αντικειμένου διαρκούν μόνο για την τρέχουσα εκτέλεση | Επεξεργαστείτε το αντικείμενο στο αποθετήριο ή χρησιμοποιήστε περιγραφικός προγραμματισμός |
| Το SetROProperty εμφανίζει ένα συντακτικό σφάλμα | Δεν υπάρχει τέτοια μέθοδος | Οδηγήστε την εφαρμογή σε ένα κανονικό βήμα, όπως Ορισμός ή Κλικ |
Δύο συνήθειες αποτρέπουν τα περισσότερα από αυτά: η παρακολούθηση του ελέγχου πριν γράψετε τη γραμμή αντί να μαντέψετε το όνομα της ιδιότητας και η διατήρηση Vbscript Οι κλήσεις ανάκτησης πραγματοποιούνται κοντά στο βήμα που χρειάζεται την τιμή, επομένως το αντικείμενο εξακολουθεί να εμφανίζεται στην οθόνη όταν πραγματοποιείται η ανάγνωση.
