Το QTP χειρίζεται διάφορα συμβάντα ποντικιού fireEvent
Qtp Handles Various Mouse Events Fireevent
πράξη Ιστός δοκιμή Πότε, οι ετικέτες HTML στη σελίδα θα περιέχουν διάφορα συμβάντα: κλικ (onclick), διπλό κλικ (onDblClick), συγκέντρωση δρομέων (OnBlur), onchange, onfocus, onmousedown, onmouseup, onmouseover, onmouseout, onsubmit, onreset, onpropertychange κ.λπ. . Χρησιμοποιώντας QTP Κατά τη διάρκεια της εγγραφής, ορισμένα συμβάντα ενδέχεται να μην καταγράφονται. Προς το παρόν, μπορείτε να κάνετε ορισμένες ρυθμίσεις, QTP / εργαλεία / Διαμόρφωση εγγραφής συμβάντων Web / προσαρμοσμένες ρυθμίσεις / συμβάν / προσθήκη μπορεί να προσθέσει τα συμβάντα που θέλετε να εγγράψετε. Φυσικά, αυτό άρθρο Το θέμα δεν είναι το παραπάνω. Επιτρέψτε μου να περιγράψω πρώτα το πρόβλημά μου. Συνάντησα έναν έλεγχο λίστας στο έργο, το οποίο έγινε με το ligerUI. Κάντε διπλό κλικ σε μια γραμμή στη λίστα και το περιεχόμενο αυτής της γραμμής θα διαβαστεί και στη συνέχεια τα δεδομένα θα αντιστοιχιστούν σε άλλες ετικέτες στη σελίδα, συμπεριλαμβανομένων ορισμένων κρυφών πεδίων. . Πρώτα, όταν ηχογράφησα, διαπίστωσα ότι δεν ήταν δυνατή η εγγραφή του συμβάντος διπλού κλικ (η παραπάνω διαμόρφωση εγγραφής συμβάντων Web έχει οριστεί), επομένως χρησιμοποίησα εγγραφή χαμηλού επιπέδου και το συμβάν διπλού κλικ καταγράφηκε επιτυχώς. Στη συνέχεια, κατά την αναπαραγωγή, διαπιστώθηκε ότι το συμβάν διπλού κλικ δεν ήταν έγκυρο και όχι όπως αναμενόταν. Έκανα διπλό κλικ σε ένα στοιχείο και άλλα στοιχεία στη σελίδα πήραν την αξία του. Η πρώτη μου λειτουργία είναι, επειδή ξέρω ότι η λογική που εφαρμόζεται από ολόκληρη τη σελίδα είναι να αποκτήσω το μοναδικό αναγνωριστικό κάθε στοιχείου, να εκχωρήσω αυτήν την τιμή σε ένα κρυφό πεδίο της σελίδας και, στη συνέχεια, να ακολουθήσω θέσεις εργασίας Όλα μπορούν να προχωρήσουν ομαλά. Επειδή ο κρυμμένος τομέας εμπλέκεται εδώ, γνωρίζουμε ότι το QTP χρησιμοποιεί ένα μοντέλο αναγνώρισης αντικειμένων. Η συνείδηση είναι ότι μπορεί να αναγνωρίσει μόνο αντικείμενα που βλέπει και εμφανίζονται στην επιφάνεια. Η μέθοδος του αντικειμένου DOM υιοθετείται εδώ. Το DOM λαμβάνει το αντικείμενο απευθείας από τον πηγαίο κώδικα (σελίδα HTML). Επομένως, διάφορα κρυφά πεδία στη σελίδα, διάφορα αντικείμενα που μπορούν να ληφθούν μέσω ετικετών, αναγνωριστικών, χαρακτηριστικών κ.λπ., μπορούν εύκολα να διαβαστούν στο QTP. Το αντικείμενο DOM είναι επίσης πολύ απλό, απλώς προσθέστε το. html tag ') και άλλες μέθοδοι απόκτησης αντικειμένων για να κάνουν ό, τι θέλουν στη σελίδα. Για παράδειγμα, εδώ, ο κώδικας εφαρμογής μου γίνεται:
1 σετ obj = Πρόγραμμα περιήγησης ('Πρόγραμμα περιήγησης'). Σελίδα ('Σελίδα'). Object.getElementById ('verifiedID') 2 obj.value = '0101002699' |
Set list = Browser ('Browser'). Page ('Page'). WebElement ('list'). Object list.document.getElementById ('maingrid4 | 2 | r1001'). Fireevent ('ondblclick') |
Για το πιο πρόσφατο περιεχόμενο, ανατρέξτε στη σελίδα GitHub του συγγραφέα: http://qaseven.github.io/