Έξυπνη Ταυτοποίηση σε QTP/UFT με Παράδειγμα

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

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

  • 🔍 Ορισμός: Ο μηχανισμός ενεργοποιείται μόνο όταν η μαθησιακή περιγραφή αποτύχει να βρει ένα μοναδικό ταίριασμα αντικειμένου.
  • 🧩 Δύο τύποι ακινήτων: Οι βασικές ιδιότητες φίλτρου ορίζουν τι είναι το αντικείμενο. Οι προαιρετικές ιδιότητες φίλτρου περιορίζουν περαιτέρω την αντιστοίχιση.
  • ⚙️ Διαδικασία αποβολής: UFT Αναδομεί μια λίστα υποψηφίων από τις βασικές ιδιότητες και, στη συνέχεια, τη φιλτράρει χρησιμοποιώντας προαιρετικές ιδιότητες μία προς μία.
  • ️ Διαμόρφωση: Ενεργοποιήστε και διαμορφώστε τα φίλτρα ανά κλάση αντικειμένου από τα Εργαλεία > Αναγνώριση Αντικειμένου.
  • ⚠️ Ορατότητα αποτελέσματος: Κάθε κλήση καταγράφει ένα βήμα προειδοποίησης στο δέντρο αποτελεσμάτων της δοκιμής.
  • 🐢 Αντιστάθμιση απόδοσης: Το επιπλέον φιλτράρισμα προσθέτει επιβάρυνση χρόνου εκτέλεσης σε μεγάλες σουίτες δοκιμών.
  • 🔧 Χειροκίνητη επιδιόρθωση: Αντικαταστήστε μια πτητική ιδιότητα όπως το όνομα με μια σταθερή, όπως το HTML id, για να αποφύγετε την εφεδρική λειτουργία.
  • 💻 Έλεγχος σεναρίου: Η ρύθμιση ("Απενεργοποίηση επανάληψης με χρήση αλγορίθμου") απενεργοποιεί την Έξυπνη αναγνώριση για μια ολόκληρη περίοδο λειτουργίας.

Τι είναι η Έξυπνη Ταυτοποίηση; QTP/UFT?

Έξυπνη αναγνώριση είναι ένας εφεδρικός μηχανισμός αναγνώρισης αντικειμένων στο OpenText UFT Ένα, το εργαλείο που ήταν παλαιότερα γνωστό ως HP QuickTest Professional (QTP). Εάν η κανονική διαδικασία αναγνώρισης δεν μπορεί να βρει μια μοναδική αντιστοιχία για την μαθησιακή περιγραφή ενός αντικειμένου, UFT Ενεργοποιεί την Έξυπνη Αναγνώριση, εφόσον ο μηχανισμός είναι ενεργοποιημένος στις ρυθμίσεις Αναγνώρισης Αντικειμένου για την κλάση αυτού του αντικειμένου.

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

  • Ιδιότητες φίλτρου βάσης. Οι πιο θεμελιώδεις ιδιότητες μιας κλάσης αντικειμένου δοκιμής· αυτές των οποίων οι τιμές δεν μπορούν να αλλάξουν χωρίς να αλλάξει η ουσία του αρχικού αντικειμένου.
  • Προαιρετικές ιδιότητες φίλτρου. Υποστηρικτικές ιδιότητες που βοηθούν στην αναγνώριση ενός αντικειμένου, αλλά είναι πιο πιθανό να αλλάξουν με την πάροδο του χρόνου.

Όταν εκτελείται η Έξυπνη Αναγνώριση, UFT «ξεχνάει» την περιγραφή που έχει μαθευτεί και ξαναδημιουργεί μια νέα λίστα υποψηφίων που περιέχει κάθε αντικείμενο που ταιριάζει με όλες τις Ιδιότητες Βασικού Φίλτρου. Στη συνέχεια, περιορίζει περαιτέρω αυτήν τη λίστα, ελέγχοντας τις Προαιρετικές Ιδιότητες Φίλτρου μία κάθε φορά, μέχρι να παραμείνει ένα μόνο αντικείμενο.

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

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

Ιδιότητες βασικού φίλτρου έναντι προαιρετικών ιδιοτήτων φίλτρου

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

Άποψη Ιδιότητες βασικού φίλτρου Προαιρετικές ιδιότητες φίλτρου
Ρόλος Δημιουργήστε την αρχική λίστα υποψηφίων Περιορίστε τη λίστα υποψηφίων σε ένα αντικείμενο
σταθερότητα Σχεδόν ποτέ δεν αλλάζει χωρίς να αλλάξει η ταυτότητα του αντικειμένου Μπορεί να αλλάζει περιοδικά χωρίς να αλλάζει η ταυτότητα του αντικειμένου
Κανόνας αντιστοίχισης Κάθε υποψήφιος πρέπει να ταιριάζει με όλες τις βασικές ιδιότητες Έλεγξε μία ιδιότητα κάθε φορά. Μια ιδιότητα παραλείπεται εάν θα απέκλειε κάθε υποψήφιο
Τυπικό παράδειγμα Ετικέτα HTML, κλάση αντικειμένου, ευρετήριο Όνομα, αναγνωριστικό HTML, εναλλακτικό κείμενο, πηγή εικόνας
Πού έχει ρυθμιστεί Αναγνώριση Αντικειμένου > Ρύθμιση > Ιδιότητες Βασικού Φίλτρου Αναγνώριση Αντικειμένου > Διαμόρφωση > Προαιρετικές Ιδιότητες Φίλτρου

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

Πώς λειτουργεί η έξυπνη αναγνώριση: Η διαδικασία βήμα προς βήμα

Η Έξυπνη Αναγνώριση ενεργοποιείται μόνο αφού η περιγραφή που έχει μαθευτεί και οποιοδήποτε Αναγνωριστικό Οπτικής Σχέσης δεν εντοπίσει ένα μόνο αντικείμενο. Μόλις ενεργοποιηθεί, UFT λειτουργεί μέσω μιας προβλέψιμης διαδικασίας εξάλειψης τεσσάρων βημάτων:

  1. Ανασύνθεση της λίστας υποψηφίων. UFT αγνοεί την μαθημένη περιγραφή και σαρώνει το γονικό αντικείμενο του αντικειμένου για κάθε αντικείμενο που ταιριάζει με όλες τις Ιδιότητες Βασικού Φίλτρου.
  2. Εφαρμόστε την πρώτη προαιρετική ιδιότητα. UFT αφαιρεί οποιαδήποτε υποψήφια ιδιότητα δεν ταιριάζει με την πρώτη ιδιότητα στη λίστα Προαιρετικές Ιδιότητες Φίλτρου.
  3. Αξιολογήστε το αποτέλεσμα. Εάν απομένουν περισσότεροι από ένας υποψήφιοι, UFT επαναλαμβάνει το προηγούμενο βήμα με την επόμενη προαιρετική ιδιότητα. Εάν ένα φίλτρο θα απέκλειε κάθε εναπομείναντα υποψήφιο, UFT παραλείπει αυτήν την ιδιότητα και μετακινείται στην επόμενη.
  4. Σταματήστε σε έναν αγώνα. UFT επαναλαμβάνει τον κύκλο φιλτραρίσματος και αξιολόγησης μέχρι να απομείνει ακριβώς ένα αντικείμενο ή μέχρι να εξαντληθούν οι προαιρετικές ιδιότητες προς έλεγχο.

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

Πώς να ενεργοποιήσετε ή να απενεργοποιήσετε την Έξυπνη Αναγνώριση

Η Έξυπνη Αναγνώριση διαμορφώνεται ανά κλάση αντικειμένου δοκιμής από Εργαλεία > Αναγνώριση ΑντικειμένουΕπιλέξτε το περιβάλλον και την κλάση αντικειμένου, ενεργοποιήστε Ενεργοποίηση Έξυπνης Ταυτοποίησης, στη συνέχεια κάντε κλικ στο κουμπί Διαμορφώστε για να επιλέξετε τις Βασικές και Προαιρετικές Ιδιότητες Φίλτρου για αυτήν την κλάση. Το ίδιο παράθυρο διαλόγου σάς επιτρέπει να απενεργοποιήσετε την επιλογή για μια κλάση που θα πρέπει πάντα να χρησιμοποιεί την περιγραφή που έχει μάθει.

Ενεργοποίηση/απενεργοποίηση Έξυπνης αναγνώρισης

Πώς λειτουργεί η Έξυπνη Ταυτοποίηση (Βίντεο με οδηγίες)

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

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

Πλεονεκτήματα και μειονεκτήματα της χρήσης έξυπνης αναγνώρισης

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

  • ✅ Επιβιώνει από μικρές αλλαγές στο UI: Ένα μετονομασμένο χαρακτηριστικό ή μια μετατοπισμένη θέση στη σελίδα δεν διακόπτει πλέον κάθε σενάριο που αγγίζει το αντικείμενο.
  • ✅ Μειώνει τη συντήρηση του αποθετηρίου αντικειμένων: Οι δοκιμαστές αφιερώνουν λιγότερο χρόνο στην επανεγγραφή αντικειμένων μετά από μικρές κυκλοφορίες στο front-end.
  • ✅ Παραμένει ορατό στα αποτελέσματα: Κάθε κλήση καταγράφει μια προειδοποίηση, ώστε οι ομάδες να μπορούν να ελέγξουν πόσο συχνά χρειάζεται πραγματικά η εφεδρική λειτουργία.
  • ⚠️ Πιο αργή εκτέλεση δοκιμών: Η δημιουργία και το φιλτράρισμα μιας λίστας υποψηφίων διαρκεί πολύ περισσότερο χρόνο από μια άμεση αντιστοίχιση ακινήτου και το κόστος πολλαπλασιάζεται σε μια μεγάλη σουίτα.
  • ⚠️ Μπορεί να καλύψει πραγματικά ελαττώματα: Εάν η Έξυπνη Αναγνώριση εντοπίσει αθόρυβα ένα παρόμοιο αντικείμενο, μια γνήσια παλινδρόμηση στο περιβάλλον χρήστη μπορεί να περάσει απαρατήρητη.
  • ⚠️ Χρειάζεται περιοδική αναθεώρηση: Οι βασικές και οι προαιρετικές ιδιότητες φίλτρου εξακολουθούν να χρειάζονται περιστασιακή αναθεώρηση καθώς η εφαρμογή εξελίσσεται.

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

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

Η ευελιξία του Smart Identification έρχεται με το κόστος εκτέλεσης που περιγράφεται παραπάνω, επομένως πολλές ομάδες προτιμούν να διορθώνουν οι ίδιες τις ιδιότητες αναγνώρισης αντικειμένων αντί να βασίζονται επανειλημμένα στην εφεδρική λύση. Παρακολουθήστε δύο ενδείξεις ότι μια διόρθωση ιδιότητας υπερτερεί μιας εφεδρικής λύσης εκτέλεσης: μια προειδοποίηση Smart Identification που εμφανίζεται σχεδόν σε κάθε εκτέλεση και ένα σενάριο που έχει αυξηθεί αισθητά πιο αργά από τότε που άρχισε να ενεργοποιείται η εφεδρική λύση. Και τα δύο υποδεικνύουν ένα αντικείμενο του οποίου οι προεπιλεγμένες ιδιότητες αναγνώρισης δεν ταιριάζουν πλέον στην εφαρμογή, παρά ένα μεμονωμένο σφάλμα στο περιβάλλον χρήστη. Το παρακάτω βίντεο δείχνει τη διόρθωση σε μια πραγματική φόρμα σύνδεσης.

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

Μεταγραφή βίντεο: Βασικά σημεία

  • Η έξυπνη αναγνώριση επιβραδύνει την εκτέλεση σεναρίων, κάτι που δεν είναι επιθυμητό για μεγάλες ή συχνά εκτελούμενες σουίτες.
  • Για να το αποφύγετε εντελώς, αλλάξτε τις προεπιλεγμένες ιδιότητες αναγνώρισης αντικειμένων αντί να βασίζεστε στην εφεδρική λειτουργία.
  • In Αναγνώριση αντικειμένου, αφαιρέστε το "name" από τις υποχρεωτικές ιδιότητες και αντικαταστήστε το με το "HTML id" για να κάνετε τη δοκιμή ανεξάρτητη από τις αλλαγές ονόματος.
  • Καταγράψτε ξανά τα ίδια βήματα μόλις ενημερωθεί ο υποχρεωτικός κατάλογος ακινήτων.
  • Εάν το όνομα αλλάξει αργότερα από "Υποβολή" σε "Σύνδεση", το σενάριο εκτελείται πλέον χωρίς να ενεργοποιηθεί η Έξυπνη Αναγνώριση.
  • Ομοίως, εάν οποιαδήποτε υποχρεωτική ή βοηθητική ιδιότητα σε ένα αντικείμενο υπό δοκιμή αλλάζει συχνά, αντικαταστήστε την με μια πιο σταθερή ιδιότητα για να διατηρήσετε την εκτέλεση του σεναρίου γρήγορη.
  • Η τροποποίηση ιδιοτήτων είναι μια δεξιότητα που αποκτάται μέσω της εμπειρίας και βελτιώνεται όσο περισσότερο εργάζεστε με το εργαλείο.

Απενεργοποίηση Έξυπνης Αναγνώρισης με Χρήση VBScript

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

' Disable Smart Identification for this run session
Setting("DisableReplayUsingAlgorithm") = 1

Browser("Mercury Tours").Page("Find Flights").WebEdit("userName").Set "mercury"

' Re-enable Smart Identification once the strict steps are done
Setting("DisableReplayUsingAlgorithm") = 0

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

Υποστηρικτικό υλικό

Κατεβάστε τις ιστοσελίδες που χρησιμοποιήθηκαν στο παραπάνω σεμινάριο για αυτοεξάσκηση

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

Όχι. Η Έξυπνη Ταυτοποίηση εφαρμόζεται στα περισσότερα συστήματα. UFT Ένα περιβάλλον, συμπεριλαμβανομένων Windows, Javaκαι αντικείμενα .NET, όχι μόνο Web. Η διαθεσιμότητα εξαρτάται από την κλάση του πρόσθετου και του αντικειμένου δοκιμής και όχι από τον τύπο περιβάλλοντος.

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

Ναι. Ανοίξτε το αντικείμενο στο Αποθετήριο Αντικειμένων, μεταβείτε στις Ιδιότητες Αντικειμένου > Πρόσθετες Λεπτομέρειες και ορίστε την Ενεργοποίηση Έξυπνης Αναγνώρισης σε Ψευδές μόνο για αυτό το αντικείμενο, αφήνοντας το υπόλοιπο αποθετήριο ανέπαφο.

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

Όχι. Η Έξυπνη Αναγνώριση φιλτράρει τις αποθηκευμένες ιδιότητες κειμένου, ενώ UFT Οι νεότερες τεχνικές αναγνώρισης που βασίζονται στην τεχνητή νοημοσύνη και την Insight της One αναγνωρίζουν αντικείμενα οπτικά. Οι δύο λειτουργούν ως ξεχωριστά, συμπληρωματικά εφεδρικά επίπεδα.

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