Περιγραφικός Προγραμματισμός σε QTP/UFT: Dynamic & Static

Τι είναι ο Περιγραφικός Προγραμματισμός;

Ο περιγραφικός προγραμματισμός χρησιμοποιείται για την εκτέλεση operaθέσεις σε ένα αντικείμενο στο AUT του οποίου ο ορισμός δεν είναι αποθηκευμένος στο Αποθετήριο αντικειμένων. Χρησιμοποιώντας αυτόν τον μηχανισμό, μπορείτε να παρακάμψετε την αναγνώριση από το Αποθετήριο αντικειμένου και να παρέχετε την Περιγραφή αντικειμένου στην ίδια τη δήλωση.

Ένα όνομα αντικειμένου χρησιμοποιείται απλώς για να αντιστοιχίσει ένα αντικείμενο σε σενάριο με την περιγραφή του σε ένα αποθετήριο αντικειμένων. Αυτό σημαίνει ότι εάν αλλάξετε το όνομα του αντικειμένου στο σενάριο και το αποθετήριο αντικειμένων, το σενάριο θα πρέπει να εκτελεστεί. Δείτε το followwing βίντεο σχετικά με αυτήν την έννοια

Πατήστε εδώ εάν το βίντεο δεν είναι προσβάσιμο

Στιγμιότυπα Βίντεο

  • Διαγράψτε το αντικείμενο Περιγραφή του ονόματος πράκτορα Win Edit Box από το Αποθετήριο αντικειμένων. Εάν εκτελέσετε ξανά τη δοκιμή θα αποτύχει καθώς δεν μπορεί να αναγνωρίσει το αντικείμενο. Ας εξετάσουμε τον λόγο για τον οποίο το σενάριο αποτυγχάνει
  • Κατά τη διάρκεια του χρόνου εκτέλεσης, το Micro Focus UFT προσδιορίζει το operaπου εκτελείται στο WinEdit box και το Object Description στο Object Repository αποθηκεύεται ως Agent Name. Χρησιμοποιεί αυτό το όνομα για να παρακολουθεί το αντικείμενο σε ένα αποθετήριο αντικειμένων. Για έναν γονέα, δεν μπορείτε να έχετε δύο θυγατρικά αντικείμενα με το ίδιο όνομα. Ως εκ τούτου, το QTP αντιστοιχίζει μοναδικά το αντικείμενο στο αποθετήριο. Στη συνέχεια χρησιμοποιεί την αποθηκευμένη περιγραφή στο Αποθετήριο αντικειμένων και αντικαθιστά το όνομα με την περιγραφή. Στη συνέχεια, χρησιμοποιεί αυτή τη δήλωση για να προσδιορίσει το αντικείμενο στην υπό δοκιμή εφαρμογή
  • Εφόσον στην περίπτωσή μας είχαμε διαγράψει εντελώς αυτήν την περιγραφή αντικειμένου, το σενάριο αποτυγχάνει
  • Τι θα γινόταν όμως αν αντί να αντικαταστήσει το QTP την περιγραφή του αντικειμένου, εσείς ως ελεγκτής καθορίσετε απευθείας τις περιγραφές αντικειμένων στο σενάριό σας. Αυτό δεν είναι παρά "Περιγραφικός Προγραμματισμός"

Τύποι Περιγραφικού Προγραμματισμού

Μπορείτε να χρησιμοποιήσετε τον Περιγραφικό προγραμματισμό με δύο τρόπους

  1. Στατικός
  2. Δυναμικός

Στατικός Περιγραφικός Προγραμματισμός

Στη Στατική μέθοδο, για αναγνώριση αντικειμένου, ορίζετε την ιδιότητα ενός αντικειμένου στο ακόλουθοwing μορφή

property:=values,

Αυτή η μορφή ονομάζεται ζεύγος τιμών ιδιοτήτων και περικλείεται σε ανεστραμμένα κόμματα

Εάν το αντικείμενό σας χρησιμοποιεί πολλαπλές περιγραφές για αναγνώριση, μπορείτε να τις καθορίσετε χρησιμοποιώντας κόμματα

Έτσι, στην περίπτωσή μας, η περιγραφή για το Όνομα πράκτορα γίνεται

"nativeclass:=Edit", "attached text:=Agent Name:"

Δυναμικός Περιγραφικός Προγραμματισμός

Η δεύτερη μέθοδος για να κάνετε την ίδια ενέργεια είναι η χρήση δυναμικού περιγραφικού προγραμματισμού

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

Σε τέτοιες περιπτώσεις, μπορείτε να χρησιμοποιήσετε Περιγραφή Κατηγορία παρέχεται από την QTP

Η σύνταξη για τη δημιουργία ενός αντικειμένου περιγραφής είναι

Set MyDescription = Description.Create();
MyDescription("property").Value = "property-value";

Αυτή είναι η Δυναμική Μέθοδος

Γιατί να χρησιμοποιήσετε Περιγραφικό Προγραμματισμό;

Μεταγραφή βίντεο

  • Το ερώτημα εκατομμυρίων δολαρίων είναι γιατί να χρησιμοποιήσετε το DP όταν η διαδικασία αναγνώρισης αντικειμένου χειρίζεται το QTP
  • Ας υποθέσουμε ότι σας έχει ανατεθεί να δοκιμάσετε μια πύλη εργασίας. Εισάγετε ένα ερώτημα αναζήτησης στην πύλη και
  • Η δοκιμή σας περιμένει από εσάς να επιλέξετε όλες τις διαθέσιμες εργασίες .και κάντε κλικ στην εφαρμογή εργασίας
  • Ωστόσο, ο αριθμός των εργασιών που απεικονίζονται θα εξαρτηθεί από το ερώτημα αναζήτησης και τις διαθέσιμες θέσεις εργασίας τη στιγμή της εκτέλεσης του σεναρίου, αλλά δεν υπάρχει τρόπος να προβλεφθεί εκ των προτέρων ο αριθμός των εργασιών που θα αντικατοπτρίζονται
  • Σε τέτοιες περιπτώσεις, μπορείτε να χρησιμοποιήσετε περιγραφικό προγραμματισμό. Ακόμα κι αν δεν γνωρίζετε τον αριθμό και τα ονόματα της επιταγήςboxes γνωρίζετε την κλάση για τα αντικείμενα ως "WebCheckBox"
  • Μπορείτε να χρησιμοποιήσετε το Μέθοδος ChildObject για να επιστρέψετε αντικείμενα που ανήκουν σε έναν συγκεκριμένο γονέα
  • Μια γραμμή κώδικα όπως -
    Set allObjects = Browser("Jobs").Page("QTP").ChildObjects()
  • Θα επιστρέψει όλα τα θυγατρικά αντικείμενα για αυτήν τη σελίδα.
  • Αλλά θέλουμε μόνο WebCheckBox αντικείμενα. Για να το κάνουμε αυτό, μπορούμε να δημιουργήσουμε ένα αντικείμενο δημιουργίας φίλτρου και να ορίσουμε την ιδιότητά του ως έλεγχο ιστού box και περάστε αυτό το φίλτρο ως όρισμα για τη μέθοδο ChildObjects
  • Σε αυτή την περίπτωση, μόνο η επιταγήboxεπιστρέφονται.
  • Στη συνέχεια, μπορείτε να γράψετε έναν κωδικό όπως αυτός που έχει πρόσβαση σε ολόκληρη τη συλλογή επιταγώνboxes ξεκινά από το μηδέν και θέτει όλα τα checkboxes ON.
  • Στη συνέχεια, μπορείτε να κάνετε κλικ στο κουμπί εφαρμογής για να ολοκληρώσετε τη δοκιμή
  • Μπορείτε επίσης να χρησιμοποιήσετε τον Περιγραφικό Προγραμματισμό για να εκτελέσετε αντικείμενα που είναι δύσκολο να εγγραφούν, όπως Πίνακες Αυτόματης Απόκρυψης, Αντικείμενα με αλλαγή ιεραρχίαςarchies, Ένθετα εσωτερικά αντικείμενα, υπομενού.
  • Μπορείτε επίσης να κάνετε προχωρημένους χειρισμούς συμβολοσειρών χρησιμοποιώντας περιγραφικό προγραμματισμό
  • Σε συνδυασμό με την ιδιότητα ευρετηρίου, ο περιγραφικός προγραμματισμός θα μπορούσε να είναι πολύ χρήσιμος στον εντοπισμό δύσκολων αντικειμένων.
  • Εάν χρησιμοποιείτε περιγραφή μέσω προγραμματισμού για ένα αντικείμενο στην ιεραρχία αντικειμένων, θα χρειαστεί να χρησιμοποιήσετε προγραμματισμό περιγραφής για διαδοχικά θυγατρικά αντικείμενα
  • Για παράδειγμα, για το αντικείμενο σελίδας, χρησιμοποιήθηκε περιγραφικός προγραμματισμός, αλλά για το επόμενο θυγατρικό αντικείμενο χρησιμοποιείται το WinEdit Object Repository το οποίο είναι εσφαλμένο
  • Αντίθετα εδώ και για το Page και για το WinEdit χρησιμοποιείται περιγραφικός προγραμματισμός που είναι σωστός