GetRoProperty, GetToProperty σε QTP/UFT με Παράδειγμα

⚡ Έξυπνη Σύνοψη

Το Object Spy αποκαλύπτει τις ιδιότητες και τις μεθόδους οποιουδήποτε στοιχείου ελέγχου στην υπό δοκιμή εφαρμογή, ενώ τα GetROProperty, GetTOProperty και SetTOProperty διαβάζουν και γράφουν αυτές τις τιμές ιδιοτήτων από ένα QTP or UFT Ένα σενάριο κατά τον χρόνο εκτέλεσης.

  • 🔎 Αντικείμενο Spy πρώτα: Στρέψτε το προς ένα στοιχείο ελέγχου για να δείτε τις ιδιότητες του αντικειμένου δοκιμής, τις ιδιότητες χρόνου εκτέλεσης, τις μεθόδους και την πλήρη ιεραρχία.
  • ☑️ Δύο κόσμοι αντικειμένων: Το αντικείμενο δοκιμής είναι η αποθηκευμένη περιγραφή, ενώ το αντικείμενο χρόνου εκτέλεσης είναι ο ενεργός έλεγχος στην εφαρμογή.
  • GetROProperty: Διαβάζει την τρέχουσα τιμή από τον ζωντανό έλεγχο, επομένως η εφαρμογή πρέπει να είναι ανοιχτή και το αντικείμενο πρέπει να υπάρχει.
  • 🧪 GetTOProperty: Διαβάζει την αποθηκευμένη περιγραφή αντ' αυτού, γι' αυτό και οι δύο μέθοδοι μπορούν να επιστρέψουν διαφορετικές τιμές.
  • Ορισμός ιδιότητας TOProperty: Αλλάζει την περιγραφή μόνο για αυτήν την εκτέλεση. Το αποθετήριο δεν αγγίζεται ποτέ και η αλλαγή απορρίπτεται στο τέλος.
  • 📌 Χωρίς SetROProperty: Ένα σενάριο μπορεί να διαβάσει την εφαρμογή αλλά δεν μπορεί να γράψει πίσω σε αυτήν μια ιδιότητα.

Το Object Spy και οι μέθοδοι GetROProperty, GetTOProperty και SetTOProperty στο QTP και  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:

  1. Καταγράψτε το αντικείμενο στο οποίο θέλετε να χρησιμοποιήσετε την ιδιότητα GetROProperty. Αποθήκη αντικειμένων.
  2. Για το καταγεγραμμένο αντικείμενο, προσδιορίζει την ιδιότητα χρόνου εκτέλεσης που θα μπορούσε να χρησιμοποιηθεί. Μπορείτε να χρησιμοποιήσετε το Object Spy.
  3. Χρησιμοποιήστε τη μέθοδο GetROProperty για να ανακτήσετε την αναγνωρισμένη ιδιότητα Run-time και να αποθηκεύσετε την τιμή σε μια μεταβλητή.
  4. Χρησιμοποιήστε αυτήν την τιμή για περαιτέρω εκπτώσεις.

Επειδή η τιμή διαβάζεται από τον ζωντανό έλεγχο, η εφαρμογή πρέπει να είναι ανοιχτή και το αντικείμενο πρέπει να υπάρχει στην οθόνη όταν εκτελείται η γραμμή.

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 Οι κλήσεις ανάκτησης πραγματοποιούνται κοντά στο βήμα που χρειάζεται την τιμή, επομένως το αντικείμενο εξακολουθεί να εμφανίζεται στην οθόνη όταν πραγματοποιείται η ανάγνωση.

Συχνές Ερωτήσεις

Το Object Spy παραθέτει τις ιδιότητες αναγνώρισης που διατηρεί το εργαλείο για αυτήν την κλάση, καθώς και τις εγγενείς ιδιότητες που εκτίθενται από το πρόγραμμα περιήγησης. Οι τιμές χαρακτηριστικών και στυλ επιτυγχάνονται με τα προθέματα χαρακτηριστικών και στυλ μέσα στη συμβολοσειρά ιδιοτήτων.

Ένα αντικείμενο χρόνου εκτέλεσης ανήκει στην εφαρμογή, όχι στη δοκιμή, επομένως το εργαλείο δεν θα γράψει σε αυτό. Για να αλλάξετε αυτά που περιέχει η εφαρμογή, εκτελέστε το στοιχείο ελέγχου με ένα συνηθισμένο βήμα, όπως Ορισμός, Επιλογή ή Κλικ.

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

Ναι. Ένα περιγραφόμενο αντικείμενο που κατασκευάζεται ενσωματωμένα δέχεται τις ίδιες κλήσεις, επομένως το GetROProperty λειτουργεί με περιγραφικός προγραμματισμός επίσης. Η συνάρτηση GetTOProperty επιστρέφει στη συνέχεια την τιμή από την ενσωματωμένη περιγραφή και όχι από μια αποθηκευμένη καταχώρηση.

Τα εργαλεία εντοπισμού με τη βοήθεια της τεχνητής νοημοσύνης κατατάσσουν αρκετές υποψήφιες ιδιότητες για τον ίδιο έλεγχο και επιδιορθώνουν μια προβληματική περιγραφή όταν αλλάζει ένα χαρακτηριστικό. Αυτό μειώνει τον βρόχο χειροκίνητης κατασκοπείας, αν και η προτεινόμενη ιδιότητα εξακολουθεί να χρειάζεται ανθρώπινο έλεγχο.

Το Copilot ολοκληρώνει την ιεραρχία και την κλήση μεθόδου μόλις δει μερικές παρόμοιες γραμμές στο αρχείο. Δεν μπορεί να γνωρίζει τα πραγματικά ονόματα των αντικειμένων σας ή ποιες ιδιότητες εκθέτει το στοιχείο ελέγχου, επομένως επαληθεύστε κάθε συμβολοσειρά που δημιουργείται στο Object Spy.

Το Object Spy είναι ένα εργαλείο επιθεώρησης που εμφανίζει τιμές ενώ δημιουργείτε το σενάριο. Ένα σημείο ελέγχου είναι ένα βήμα που εκτελείται μέσα στη δοκιμή και οι αναφορές περνούν ή αποτυγχάνουν σε σχέση με μια αποθηκευμένη αναμενόμενη τιμή.

Μόνο εάν το αντικείμενο εξακολουθεί να υπάρχει στην εφαρμογή. Ένα στοιχείο ελέγχου που δεν έχει αποδοθεί ή ένα που έχει αφαιρεθεί από τη σελίδα, εμφανίζει ένα σφάλμα "δεν βρέθηκε αντικείμενο" αντί να επιστρέφει μια κενή τιμή.

Συνοψίστε αυτήν την ανάρτηση με: