parameterization qtp explained with examples qtp tutorial 19
=> Κάντε κλικ εδώ για τη σειρά εκπαιδευτικών εκπαιδευτικών QTP
Τι θα μάθετε:
- Τι είναι η παράμετρος QTP;
- Τύποι παραμέτρων στο QTP
- Παράμετρος σε QTP χρησιμοποιώντας βάση δεδομένων με παράδειγμα
- Συνιστώμενη ανάγνωση
Τι είναι η παράμετρος QTP;
Μερικές φορές η εφαρμογή δεν δέχεται διπλές εγγραφές δεδομένων. Σε αυτήν την περίπτωση, εάν εκτελέσετε το ίδιο σενάριο δοκιμής με ένα σταθερό σύνολο δεδομένων εισόδου, μια εφαρμογή ενδέχεται να εμφανίσει σφάλμα λόγω της επανάληψης δεδομένων. Για να αποφευχθεί αυτό το ζήτημα, το QTP παρέχει τρόπους αποδοχής διαφορετικών εισόδων δοκιμής στο σενάριο δοκιμής.
Αυτή η διαδικασία παροχής διαφορετικών τιμών εισόδου μέσω εξωτερικών παραμέτρων ονομάζεται Παραμετροποίηση
καλύτερα παράθυρα λογισμικού κλωνοποίησης SSD 10
Τύποι παραμέτρων στο QTP
Η μεταβλητή τιμή μπορεί να είναι ή οι τύποι παραμέτρων μπορεί να είναι:
- Παράμετροι πίνακα δεδομένων
- Παράμετροι δοκιμής / δράσης
- Παράμετροι μεταβλητής περιβάλλοντος
- Παράμετροι τυχαίου αριθμού
Σε αυτό το σεμινάριο QTP, θα επικεντρωθούμε κυρίως στην παραμετροποίηση χρησιμοποιώντας Datatable. Στο επόμενο σεμινάριο θα εξηγήσουμε άλλους τύπους παραμέτρων.
Παραμετροποίηση στο QTP
Ας υποθέσουμε ότι προσπαθείτε να γράψετε ένα πρόγραμμα που ελέγχει τις τιμές σύνδεσης για μερικούς χρήστες στο gmail.com. Το παρακάτω είναι ο κωδικός που έχετε για έναν χρήστη, αλλά θέλετε το ίδιο να λαμβάνει διαφορετικές τιμές κάθε φορά. Πώς το κάνεις αυτό;
Κωδικός για σύνδεση στο Gmail για έναν χρήστη:
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Email').Set 'swatiseela' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Passwd').SetSecure 'sfgs686898' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click
Τώρα, μεταβείτε στην προβολή λέξεων-κλειδιών και κάντε κλικ στη στήλη τιμής για τις δηλώσεις ταυτότητας email και κωδικού πρόσβασης.
Η τυπική οθόνη που εμφανίζεται όταν προσπαθείτε να παραμετροποιήσετε:
ποιος είναι υπεύθυνος για την επιχειρηματική αξία που παρέχεται από μια ομάδα scrum;
Όπως μπορείτε να δείτε, η τιμή μπορεί να είναι μια σταθερή, 'swatiseela' σε αυτήν την περίπτωση, το αναγνωριστικό σύνδεσης.
Ή αν ορίσετε την επιλογή παραμετροποίησης, ενεργοποιούνται τα αντίστοιχα πεδία στην οθόνη.
Από αυτήν την οθόνη, μπορείτε να επιλέξετε να παραμετροποιήσετε την επιλεγμένη τιμή είτε με τιμή του πίνακα δεδομένων, μεταβλητή περιβάλλοντος είτε με τυχαίο αριθμό. Δεδομένου ότι η πιο συχνά χρησιμοποιούμενη πηγή είναι ο πίνακας δεδομένων θα το συζητήσουμε πρώτα.
Εκτός από αυτά, θα μπορούσατε να χρησιμοποιήσετε τις τιμές εισόδου και εξόδου μιας συγκεκριμένης ενέργειας ως παράμετρο για μια τιμή. Θα το συζητήσουμε και αυτό σε λίγο.
Παράμετρος σε QTP χρησιμοποιώντας βάση δεδομένων με παράδειγμα
Παραμετροποίηση στο QTP χρησιμοποιώντας το Excel
Έλεγξα την τιμή παραμέτρου ΕΝΕΡΓΟΠΟΙΗΣΗ και στη συνέχεια υπάρχει μια θέση στο πεδίο Δεδομένη βάση μετά το όνομα.
Ονομα Το αντίστοιχο όνομα στήλης στον πίνακα δεδομένων από όπου πρέπει να ληφθούν τα δεδομένα. Από προεπιλογή, το QTP θα προτείνει ένα όνομα. Έχετε την επιλογή να το διατηρήσετε όπως προτείνεται ή να το αλλάξετε ανάλογα με τις ανάγκες.
Παγκόσμια Σεντόνι: Αυτό το φύλλο δεδομένων είναι διαθέσιμο σε όλες τις ενέργειες σε μια δοκιμή.
Τρέχον φύλλο δράσης ή τοπικό φύλλο: όπως υποδηλώνει το όνομα, είναι το φύλλο δεδομένων που είναι διαθέσιμο σε μια συγκεκριμένη ενέργεια.
Θα πάω σε πολλές σειρές δεδομένων στο Παγκόσμιο δελτίο δεδομένων. Αυτό είναι όπου το εργαλείο κωδικοποιητή κωδικού πρόσβασης είναι βολικό. Μπορείτε να βάλετε κρυπτογραφημένες τιμές στο δελτίο δεδομένων που λαμβάνετε από αυτό το εργαλείο.
Έτσι φαίνεται το φύλλο δεδομένων μου:
Μετά την παραμετροποίηση, έτσι φαίνεται ο κώδικας:
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set DataTable('SignInName', dtGlobalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure DataTable('GPassword', dtGlobalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Close
Θα δείτε στον παραπάνω κώδικα ότι οι τιμές για το αναγνωριστικό email και τον κωδικό πρόσβασης λαμβάνονται από τον πίνακα δεδομένων.
Αυτός ο κωδικός θα εκτελεστεί και για τις 4 σειρές δεδομένων στο καθολικό φύλλο εάν στην επόμενη οθόνη ορίσω την επιλογή 'Εκτέλεση σε όλες τις σειρές' ON:
ερωτήσεις και απαντήσεις συνέντευξης του διαχειριστή salesforce
Σε κάθε περίπτωση, εάν δεν θέλετε να χρησιμοποιήσετε την παραπάνω οθόνη για να αποφασίσετε πόσες σειρές πρέπει να εκτελεστεί ο κώδικας, μπορείτε να το κάνετε μέσω προγραμματισμού. Για αυτό, πρέπει να επιλέξετε την επιλογή 'Εκτέλεση μόνο μιας επανάληψης' στην παραπάνω οθόνη και να γράψετε τον κωδικό με τον ακόλουθο τρόπο:
for i=1 to datatable.GetRowCount SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync datatable.SetCurrentRow(i) varName=datatable.value('SignInName') varPwd=datatable.Value('GPassword') Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set varName Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure varPwd Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Close next
Κατά την εκτέλεση μιας δοκιμής που εκτελείται για 2 επαναλήψεις, έτσι θα μοιάζει η οθόνη αποτελεσμάτων δοκιμής:
Θα ήθελα να αφιερώσω λίγο χρόνο εξετάζοντας τον κώδικα και προσπαθώντας να καταλάβω γιατί κάθε γραμμή και η σειρά της είναι σημαντικές για την επιτυχή εκτέλεση του τεστ:
- Γιατί ανοίγω το πρόγραμμα περιήγησης στο βρόχο «για»;
- Γιατί υπάρχουν δηλώσεις συγχρονισμού παντού;
- Γιατί κλείνουμε μέσω προγραμματισμού το πρόγραμμα περιήγησης στο τέλος αντί να αφήνουμε τις επιλογές 'Εγγραφή και εκτέλεση - Κλείσιμο του προγράμματος περιήγησης όταν κλείνει η δοκιμή' για αυτό;
- Και πάλι, γιατί είναι η στενή δήλωση μέσα στο βρόχο «για»;
Λάβετε υπόψη ότι στο παραπάνω κομμάτι κώδικα, δεν δήλωσα τις μεταβλητές σε αυτό το τεστ, εσοχή στις δηλώσεις ή δεν παρέχω σχόλια. Αυτό είναι σκόπιμο, καθώς δεν ήθελα να αραιώσω την ουσία των δηλώσεων. Η ακόλουθη ιδέα θα απαντήσει σε αυτές τις ερωτήσεις:
Κατάσταση του AUT:
Ο βασικός κανόνας είναι - Κάθε επανάληψη πρέπει να ξεκινά με το AUT να είναι η ίδια κατάσταση και να τελειώνει στην ίδια κατάσταση.
- Εάν η δήλωση για το άνοιγμα της σελίδας gmail.com ήταν εκτός του for loop, η δοκιμή θα μπορούσε να τρέξει καλά για την πρώτη επανάληψη, αλλά για την επόμενη δεν θα είχε ανοίξει η σελίδα gmail.com και η δοκιμή θα αποτύγχανε.
- Εάν η δήλωση για το κλείσιμο του προγράμματος περιήγησης δεν περιλαμβάνεται στη δοκιμή, τότε η δοκιμή θα ανοίξει ένα πρόγραμμα περιήγησης με κάθε επανάληψη και θα καταλήξατε να έχετε τόσες πολλές εμφανίσεις του προγράμματος περιήγησης ανοιχτές στον αριθμό σειρών στον πίνακα δεδομένων.
- Φανταστείτε εάν η δήλωση κλεισίματος ήταν εκτός του for loop, τότε επίσης θα καταλήξετε με πάρα πολλά προγράμματα περιήγησης.
- Δήλωση συγχρονισμού: αυτό αναγκάζει τη δοκιμή QTP να περιμένει έως ότου φορτωθεί μια συγκεκριμένη σελίδα προτού αρχίσει να εκτελεί μια συγκεκριμένη λειτουργία σε αυτήν.
Πάντα προσπαθήστε να επιστρέψετε την αίτησή σας στην κατάσταση από την οποία ξεκίνησε. Αυτό θα διασφαλίσει ότι παρέχετε την ίδια διεπαφή για κάθε αλληλεπίδραση με την οποία αλληλεπιδράτε.
Το παρακάτω είναι το κομμάτι του κώδικα όταν χρησιμοποιείτε ένα τοπικό φύλλο αντί για το καθολικό:
Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set DataTable('Name', dtLocalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure DataTable('Pwd', dtLocalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click
Στο QTP μπορείτε να παραμετροποιήσετε τιμές:
- Σημεία ελέγχου.
- Ιδιότητες αντικειμένου για ένα επιλεγμένο βήμα.
- Ορίσματα λειτουργίας ορίστηκαν για ένα επιλεγμένο βήμα.
- Μία ή περισσότερες ιδιότητες ενός αντικειμένου που είναι αποθηκευμένο στο τοπικό αποθετήριο αντικειμένων στο παράθυρο διαλόγου Object Properties ή στο Object Repository παράθυρο.
Τα παραπάνω είναι επίσης ένα παράδειγμα δεδομένων που οδηγούν σε μια συγκεκριμένη δοκιμή. Θα δούμε πώς να παραμετροποιήσουμε χρησιμοποιώντας το άλλοι τύποι παραμέτρων στο επόμενο άρθρο.
=> Επισκεφθείτε εδώ για τη σειρά εκπαιδευτικών εκπαιδευτικών QTP
Συνιστώμενη ανάγνωση
- Παράμετρος στο QTP (Μέρος 2) - QTP Tutorial # 20
- Tutorials QTP - 25+ Εκπαιδευτικά σεμινάρια Micro Focus Quick Test Professional (QTP)
- Selenium Find Element By Text Tutorial με παραδείγματα
- Εκμάθηση έκλειψης σε βάθος για αρχάριους
- Εκμάθηση QTP # 18 - Προγράμματα βάσει δεδομένων και υβριδικά πλαίσια που εξηγούνται με παραδείγματα QTP
- Εκμάθηση QTP # 6 - Κατανόηση της εγγραφής QTP και των ρυθμίσεων εκτέλεσης για την πρώτη μας δοκιμή
- Εκμάθηση QTP # 24 - Χρήση εικονικών αντικειμένων και σεναρίων αποκατάστασης σε δοκιμές QTP
- Περιγραφικός προγραμματισμός σε QTP και σύνδεση βάσης δεδομένων στο QTP - Tutorial # 25