qtp tutorial 18 data driven
Εργαζόμαστε με τον τρόπο που καταλαβαίνουμε πώς να αντλήσουμε ένα Πλαίσιο αυτοματισμού που λειτουργεί καλύτερα για ένα συγκεκριμένο έργο δοκιμών και επίσης ορίζει συγκεκριμένα πλαίσια που υπάρχουν ήδη.
Το παράδειγμα που χρησιμοποιούσαμε στο προηγούμενο άρθρο πλαισίου QTP δημιούργησε έναν νέο λογαριασμό Gmail.
Αρχικά, κωδικοποιήσαμε τη δημιουργία ενός νέου σεναρίου λογαριασμού μόνο με την εγγραφή και την αναπαραγωγή με γραμμικό τρόπο. Βλέποντας πώς έλειπε σε αρθρωτότητα, αναγνωσιμότητα και επαναχρησιμοποίηση, το χωρίσαμε σε συναρτήσεις που θα αναφέρονται ως λέξεις-κλειδιά που προχωρούν.
=> Κάντε κλικ εδώ για τη σειρά εκπαιδευτικών εκπαιδευτικών QTP
Πετύχαμε την αρθρωτότητα, την αναγνωσιμότητα και την επαναχρησιμοποίηση μέσω αυτής της μεθόδου, αλλά χρειαζόμασταν να κάνουμε το πρόγραμμα ακόμη πιο ισχυρό, ώστε να μπορεί να πάρει διαφορετικά σύνολα τιμών χωρίς να χρειάζεται να τροποποιήσει το ίδιο το σενάριο.
Αυτό ακριβώς θα επιτύχουμε με δεδομένα που οδηγούν στις δοκιμές.
Τι θα μάθετε:
- Πλαίσιο αυτοματοποίησης βάσει δεδομένων που χρησιμοποιεί QTP
- Υβριδικό πλαίσιο
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Πλαίσιο αυτοματοποίησης βάσει δεδομένων που χρησιμοποιεί QTP
Η δημιουργία πολλών λογαριασμών χρηστών Google είναι το έργο που θα προσπαθήσουμε να επιτύχουμε χρησιμοποιώντας αυτό το πλαίσιο.
Στο παράδειγμα νωρίτερα, κωδικοποιήσαμε σκληρά το όνομα, το επώνυμο, τα στοιχεία ταυτότητας χρήστη κ.λπ. στον κώδικά μας κατά την προσπάθεια δημιουργίας λογαριασμού. Θα πρέπει να διαχωρίσουμε τον κώδικα από τα δεδομένα εάν πρέπει να επιτύχουμε την πτυχή της οδήγησης δεδομένων για αυτό το σενάριο.
Τα δεδομένα πρέπει να προέρχονται από μια πηγή που δεν είναι το ίδιο το πρόγραμμα.
Συνήθως η εισαγωγή δεδομένων μπορεί να είναι οτιδήποτε:
- Αρχεία MS Excel
- Βάση δεδομένων
- Αρχεία κειμένου
- Αρχεία XML… .etc.
Τα αρχεία Excel είναι αυτά που χρησιμοποιούνται συχνότερα. Το ίδιο το γεγονός ότι κάθε ενέργεια στο QTP ενσωματώνεται σε ένα δελτίο δεδομένων της εξηγεί γιατί συμβαίνει αυτό.
διαφορά μεταξύ δοκιμών alpha και beta
Μπορείτε να χρησιμοποιήσετε μία ή περισσότερες πηγές δεδομένων για ένα σενάριο. Το φύλλο excel που συνοδεύει την ενέργεια μπορεί να χρησιμοποιηθεί ή μπορείτε επίσης να χρησιμοποιήσετε ένα εξωτερικό φύλλο excel. Βασικά, ένα φύλλο δεδομένων μπορεί να είναι οποιοδήποτε σχετικό εξωτερικό αρχείο.
Για παράδειγμα,
Αυτός είναι ο κώδικας που χρειαζόμαστε για τη μετάδοση δεδομένων:
Browser('Gmail: Email from Google').Page('GoogleAccounts').WebEdit('FirstName').Set 'swati' Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('LastName').Set 's' Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('GmailAddress').Set 'test'
Όλα τα δεδομένα αυτήν τη στιγμή είναι κωδικοποιημένα. Ας δούμε τώρα πώς μπορούμε να πάρουμε αυτές τις τιμές από το φύλλο δεδομένων.
Μεταβείτε στην προβολή ειδικών για τη δήλωση στο QTP και κάντε κλικ στη στήλη τιμής για ένα βήμα. Ανοίγει το ακόλουθο παράθυρο:
Ορίστε την επιλογή παραμέτρου, επιλέξτε ένα όνομα για την παράμετρο (αυτό θα είναι το όνομα της στήλης στο φύλλο δεδομένων) και επιλέξτε εάν πρόκειται να χρησιμοποιήσετε το καθολικό φύλλο ή το τοπικό φύλλο (το καθολικό φύλλο είναι διαθέσιμο για όλες τις ενέργειες σε μια δοκιμή, αλλά Το τοπικό φύλλο είναι συγκεκριμένο για την τρέχουσα ενέργεια).
Για το πεδίο «Όνομα» στην οθόνη, το QTP παρέχει μια προεπιλεγμένη τιμή. Ο χρήστης έχει την επιλογή να διατηρήσει το ίδιο ή να το αλλάξει.
Κάνοντας κλικ στο OK, δημιουργείται μια νέα στήλη στον πίνακα δεδομένων.
Έτσι φαίνεται το φύλλο δεδομένων που περιέχει 3 σύνολα του ονόματος, του επωνύμου και του αναγνωριστικού λογαριασμού:
Μόλις παραμετροποιηθεί, ο κώδικας μοιάζει με:
Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('FirstName').Set DataTable('G_First_Name', dtGlobalSheet) Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('LastName').Set DataTable('G_Last_Name', dtGlobalSheet) Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('GmailAddress').Set DataTable('gmail_address', dtGlobalSheet)
Εάν πρέπει να δημιουργήσουμε αυτά τα 3 αναγνωριστικά χρήστη με τα δεδομένα στα φύλλα, πρέπει να έχουμε 3 επαναλήψεις. Η επανάληψη δεν είναι παρά δοκιμαστική.
Μόλις ρυθμιστούν τα δεδομένα, θα πρέπει να καθοδηγήσουμε το QTP πόσες φορές χρειάζεται να εκτελεστεί αυτός ο κώδικας ή πόσες επαναλήψεις.
Έτσι το κάνουμε: Πηγαίνετε στο Αρχείο-> Ρυθμίσεις και εκτέλεση (κάντε κλικ στην εικόνα για μεγέθυνση)
τύποι κληρονομιάς στο c ++
Στην παραπάνω οθόνη ορίστε τις ιδιότητες επανάληψης όπως απαιτείται.
Εναλλακτικά, μπορείτε να καθοδηγήσετε το QTP σχετικά με τις επαναλήψεις μέσω προγραμματισμού. Όπως πάντα, αυτό επιτρέπει περισσότερο έλεγχο και επίσης περισσότερες δεξιότητες προγραμματισμού. Επομένως, εξαρτάται πραγματικά από το επίπεδο άνεσης του ελεγκτή να επιλέξει οποιαδήποτε από αυτές τις μεθόδους.
Τα στοιχεία σε ένα πλαίσιο βάσει δεδομένων είναι:
- Δοκιμαστικό σενάριο
- Αρχεία δεδομένων
- Κοινόχρηστη λειτουργική βιβλιοθήκη (εάν υπάρχει ή θα μπορούσε να είναι ένα γραμμικό πρόγραμμα)
- Αντικείμενο αποθετηρίου (Και πάλι, αυτό το στοιχείο δεν θα υπάρχει εάν χρησιμοποιήθηκε περιγραφικός προγραμματισμός για τη δημιουργία αντικειμένων)
Τα αποτελέσματα των δοκιμών θα εμφανίσουν την κατάσταση 'Περάσει' ή 'Αποτυχημένη' για κάθε δοκιμαστική εκτέλεση.
Εκτός από τον πίνακα δεδομένων που παρέχεται από προεπιλογή, μπορούμε να χρησιμοποιήσουμε οποιοδήποτε εξωτερικό αρχείο excel ως φύλλο εισαγωγής.
Υβριδικό πλαίσιο
Στο παραπάνω παράδειγμα χρησιμοποιήσατε λέξεις-κλειδιά (ονόματα των συναρτήσεων που έχει δημιουργήσει ο χρήστης) και έχετε δοκιμή βάσει δεδομένων για να βεβαιωθείτε ότι δημιουργούνται διαφορετικοί χρήστες ταυτόχρονα. Αυτό δεν είναι παρά ένα υβριδικό πλαίσιο.
Ο συνδυασμός οποιωνδήποτε δύο ή περισσότερων πλαισίων που έχουμε συζητήσει μέχρι στιγμής είναι ένα υβριδικό πλαίσιο.
Σύμφωνα με την εμπειρία μου, κανένα πλαίσιο δεν λειτουργεί αποτελεσματικά για ένα συγκεκριμένο έργο. Το υβριδικό πλαίσιο είναι αυτό που χρησιμοποιείται συχνότερα.
Λίγα σημαντικά σημεία σχετικά με τα πλαίσια:
- Το πλαίσιο είναι απλώς μια λύση που λειτούργησε καλύτερα σε μια συγκεκριμένη κατάσταση, αλλά δεν πρέπει να εκληφθεί ως ένα σύνολο κανόνων που πρέπει να ακολουθούνται σίγουρα. Θα πρέπει να θεωρείται περισσότερο σαν οδηγίες.
- Μπορεί να υπάρχουν πολλά άλλα πλαίσια που χρησιμοποιούνται, έχουμε αναφέρει και εξηγήσαμε μόνο τα κοινά
- Ονοματολογία - Διαφορετικοί άνθρωποι αντιμετωπίζουν τα πλαίσια τους με διαφορετικά ονόματα. Έτσι, εάν τα ονόματα είναι ελαφρώς διαφορετικά από τη μία εφαρμογή στην άλλη, είναι φυσιολογικό.
- Τα περισσότερα από τα πλαίσια μπορούν να χρησιμοποιηθούν σε συνδυασμό το ένα με το άλλο, όταν κανένα από αυτά δεν μπορεί να προσφέρει μια ολοκληρωμένη λύση στους στόχους δοκιμής σας.
συμπέρασμα
Για λόγους εύκολης κατανόησης, έχουμε απλοποιήσει πραγματικά τις έννοιες του πλαισίου εδώ. Εάν έχετε προβλήματα σχετικά με το πλαίσιο που αντιμετωπίζετε και δεν καλύπτονται σε αυτά τα άρθρα, ενημερώστε μας. Θα προσπαθήσουμε σίγουρα να απαντήσουμε στις ερωτήσεις σας. Μη διστάσετε να δημοσιεύσετε τις ερωτήσεις σας.
=> Επισκεφθείτε εδώ για τη σειρά εκπαιδευτικών εκπαιδευτικών QTP
Συνιστώμενη ανάγνωση
- Πλαίσια QTP - Πλαίσια αυτοματισμού δοκιμής - Παραδείγματα βάσει λέξεων-κλειδιών και γραμμικού πλαισίου - Οδηγός QTP # 17
- Πώς λειτουργεί η δοκιμή βάσει δεδομένων (παραδείγματα QTP και σεληνίου)
- Πλαίσιο βάσει δεδομένων στο Selenium WebDriver με χρήση Apache POI
- Δοκιμές βάσει δεδομένων ή παραμετροποιημένες με πλαίσιο Spock
- Τρόπος εκτέλεσης δοκιμών βάσει δεδομένων χρησιμοποιώντας το εργαλείο TestComplete
- Tutorials QTP - 25+ Εκπαιδευτικά σεμινάρια Micro Focus Quick Test Professional (QTP)
- Εξόρυξη δεδομένων: Διαδικασία, τεχνικές και σημαντικά ζητήματα στην ανάλυση δεδομένων
- Παράμετρος στο QTP εξηγείται με παραδείγματα (Μέρος 1) - QTP Tutorial # 19