Πώς να χρησιμοποιήσετε συναρτήσεις σε QTP/UFT σε 3 εύκολα βήματα

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

Λειτουργίες σε QTP/UFT επιτρέπουν στους δοκιμαστές να συσκευάζουν επαναχρησιμοποιήσιμη λογική VBScript μέσα σε αρχεία βιβλιοθήκης που μπορεί να καλέσει οποιαδήποτε δοκιμή, μειώνοντας τις επικαλύψεις, διευκολύνοντας τη συντήρηση και επιταχύνοντας την ανάπτυξη αυτοματισμού σε όλη την έκταση. UFT και QTP έργα.

  • 📚 Ορισμός: Μια βιβλιοθήκη συναρτήσεων είναι ένα αρχείο .qfl ή .vbs με επαναχρησιμοποιήσιμες συναρτήσεις VBScript. UFT Η δοκιμή μπορεί να καλέσει.
  • Δημιουργία: Δημιουργήστε μια βιβλιοθήκη από το Αρχείο > Νέο > Βιβλιοθήκη Συναρτήσεων και γράψτε μέσα σε αυτήν τυπικά μπλοκ Συνάρτησης VBScript…End Function.
  • 🔗 Σχέση: Συνδέστε τη βιβλιοθήκη μέσω Αρχείο > Ρυθμίσεις > Πόροι > Συσχετίστε τη βιβλιοθήκη συναρτήσεων για να εκθέσετε τις συναρτήσεις της στη δοκιμή.
  • ▶ ️ Κλήση: Κλήση μιας συνάρτησης βιβλιοθήκης από typing το όνομά του με ορίσματα μέσα στο σενάριο δοκιμής, ακριβώς όπως ένα ενσωματωμένο UFT δήλωση.
  • 🗂️ Μορφές αρχείων: Επιλέξτε .qfl για την εγγενή έκδοση UFT πρόγραμμα επεξεργασίας ή .vbs για ένα αρχείο απλού κειμένου αναγνώσιμο οπουδήποτε, συμπεριλαμβανομένου του ελέγχου έκδοσης.
  • ⚙️ Φόρτωση κατά τον χρόνο εκτέλεσης: Χρησιμοποιήστε το LoadFunctionLibrary ή το ExecuteFile για να επισυνάψετε μια βιβλιοθήκη μέσω προγραμματισμού αντί για το παράθυρο διαλόγου Πόροι.
  • 🧭 Ονοματολογία πειθαρχίας: Δώστε σε κάθε συνάρτηση ένα μοναδικό όνομα σε όλες τις συσχετισμένες βιβλιοθήκες, επειδή UFT Εκτελεί τον ορισμό που φορτώθηκε τελευταία όταν συγκρούονται ονόματα.
  • 📊 Αναφορά: Αντικατάσταση μηνύματοςBox κλήσεις με Reporter.ReportEvent, έτσι ώστε οι καταστάσεις επιτυχίας, αποτυχίας και προειδοποίησης να εμφανίζονται απευθείας μέσα στο UFT δέντρο αποτελεσμάτων.

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

Οι δικές σας βιβλιοθήκες συναρτήσεων στο Micro Focus UFT μπορεί να περιέχει Vbscript λειτουργίες, υπορουτίνες, ενότητες κ.λπ.

Πρέπει να ακολουθήσετε μόνο 3 απλά βήματα για να χρησιμοποιήσετε μια συνάρτηση από μια βιβλιοθήκη στη δοκιμή σας.

Μια βιβλιοθήκη συναρτήσεων διαφέρει από μια δράση in UFT: μια συνάρτηση δεν έχει δικό της αποθετήριο αντικειμένων ή φύλλο δεδομένων, ωστόσο οποιαδήποτε ενέργεια ή δοκιμή μπορεί να την καλέσει μόλις συσχετιστεί η βιβλιοθήκη.

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

3 απλά βήματα για να χρησιμοποιήσετε μια συνάρτηση από μια βιβλιοθήκη στο UFT/QTP

Βήμα 1) Δημιουργήστε μια νέα βιβλιοθήκη συναρτήσεων στο UFT or QTP επιλέγοντας Αρχείο > Νέο > Βιβλιοθήκη Συναρτήσεων. Ανοίγει ως νέα καρτέλα στο QTP.

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

Function Demo

MsgBox "This is a Test Function"

End Function

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

Βήμα 2) Συσχετίστε τη βιβλιοθήκη με τη δοκιμή σας. Ανοίξτε το Αρχείο > Ρυθμίσεις > Πόροι > Συσχετίστε τη βιβλιοθήκη συναρτήσεων και κάντε κλικ στην επιλογή Πρόσθεση, επιλέξτε το αρχείο της βιβλιοθήκης συναρτήσεων και κάντε κλικ στο OK.

Βήμα 3) Το τελευταίο βήμα είναι να καλέσετε τη συνάρτηση μέσα στο σενάριο δοκιμής. Μόλις συσχετιστεί μια βιβλιοθήκη, η κλήση μιας συνάρτησης είναι τόσο απλή όσο typing το όνομά του και περνώντας τυχόν απαιτούμενα ορίσματα, όπως φαίνεται παρακάτω.

' Call the function from the associated library
Demo()

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

Σημαντικές Σημειώσεις

  • Χρησιμοποιώντας αντικείμενα COM, DCOM μπορείτε να δημιουργήσετε πολύ προηγμένες συναρτήσεις
  • Στην πραγματικότητα, πολλά από τα χαρακτηριστικά που παρέχονται από QTP μπορεί να κωδικοποιηθεί χρησιμοποιώντας VBScript
  • Έχουμε δει μηχανικούς αυτοματισμού που το κάνουν περισσότερο έργο VB παρά έργο αυτοματισμού
  • Η σύστασή μας είναι να εστιάσετε στον 100% αυτοματισμό αντί να επιδεικνύετε τις δεξιότητές σας στο VB

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

Τύποι αρχείων βιβλιοθήκης συναρτήσεων: .qfl vs .vbs

UFT δεν σας αναγκάζει να επιλέξετε μία μόνο μορφή αρχείου για μια βιβλιοθήκη συναρτήσεων. Ο επεξεργαστής της Βιβλιοθήκης Συναρτήσεων αποθηκεύει νέα αρχεία με .qfl επέκταση από προεπιλογή, και UFT δέχεται επίσης απλό κείμενο .vbs αρχείο που δημιουργήθηκε σε οποιοδήποτε πρόγραμμα επεξεργασίας κώδικα, επειδή ένα QTP/UFT Η βιβλιοθήκη συναρτήσεων δεν είναι τίποτα περισσότερο από ένα συνηθισμένο VBScript αποθηκευμένο σε δίσκο· οι δύο μορφές συμπεριφέρονται πανομοιότυπα κατά τον χρόνο εκτέλεσης.

ΑΠΟΨΗ ΑΡΧΕΙΟ .QFL ΑΡΧΕΙΟ .VBS
Δημιουργήθηκε με UFT Επεξεργαστής βιβλιοθήκης συναρτήσεων Οποιοσδήποτε επεξεργαστής κειμένου ή κώδικα
Ανοίγει έξω UFT Οχι Ναι, ως απλό κείμενο
Φιλικότητα ελέγχου έκδοσης Περιωρισμένος Καλύτερα, αφού οι διαφορές είναι ευανάγνωστες
Μέθοδος συσχέτισης Το ίδιο και για τα δύο Το ίδιο και για τα δύο

Η επιλογή εξαρτάται κυρίως από τη ροή εργασίας της ομάδας και όχι από τη λειτουργικότητα. Μια μοναδική βιβλιοθήκη που δημιουργείται γρήγορα στο εσωτερικό της. UFT λειτουργεί καλά ως .qfl, ενώ οι βιβλιοθήκες που διατηρούνται σε Git, SVN ή άλλο σύστημα ελέγχου εκδόσεων συνήθως διατηρούνται ως .vbs αρχεία, επειδή το απλό κείμενο παράγει πολύ πιο ευανάγνωστες διαφορές κατά την αναθεώρηση κώδικα. Και οι δύο μορφές υποστηρίζουν το πλήρες σύνολο χαρακτηριστικών VBScript, συμπεριλαμβανομένων των κλάσεων, του χειρισμού σφαλμάτων και της δημιουργίας αντικειμένων COM, και οι δύο σχετίζονται με μια δοκιμή με τον ίδιο ακριβώς τρόπο, όπως εξηγεί η επόμενη ενότητα.

Η μετονομασία της επέκτασης αρχείου δεν αλλάζει το περιεχόμενο αυτού, επομένως η μετατροπή ενός υπάρχοντος .qfl αρχείο στο .vbs, ή το αντίστροφο, είναι απλώς μια μετονομασία αρχείου ακολουθούμενη από την εκ νέου συσχέτιση του μετονομασμένου αρχείου με το test.

Τρόποι συσχέτισης μιας βιβλιοθήκης συναρτήσεων με μια δοκιμή

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

  1. Παράθυρο διαλόγου Συσχετισμένης Βιβλιοθήκης Συναρτήσεων (GUI): Ανοίξτε το Αρχείο > Ρυθμίσεις > Πόροι > Συσχετισμένη Βιβλιοθήκη Συναρτήσεων, κάντε κλικ στην επιλογή Προσθήκη και επιλέξτε το αρχείο. UFT αποθηκεύει αυτήν τη συσχέτιση μέσα στην ίδια τη δοκιμή, επομένως η βιβλιοθήκη φορτώνεται αυτόματα κάθε φορά που ανοίγει η δοκιμή. Αυτή είναι η μέθοδος που φαίνεται στο Βήμα 2 παραπάνω και λειτουργεί καλά ως η προεπιλεγμένη επιλογή για οποιαδήποτε βιβλιοθήκη που χρειάζεται κάθε δοκιμή σε ένα έργο.
  2. Δήλωση LoadFunctionLibrary: Καλέστε τη συνάρτηση LoadFunctionLibrary “path” από μέσα σε ένα σενάριο για να επισυνάψετε μια βιβλιοθήκη κατά τον χρόνο εκτέλεσης χωρίς να αγγίξετε το παράθυρο διαλόγου Πόροι. UFT αντιμετωπίζει τη βιβλιοθήκη ακριβώς όπως μια συσχέτιση που βασίζεται σε διάλογο για το υπόλοιπο της εκτέλεσης, κάτι που είναι βολικό όταν η διαδρομή της βιβλιοθήκης αποφασίζεται δυναμικά.
  3. Δήλωση ExecuteFile: Η «διαδρομή» του ExecuteFile εκτελεί ένα αρχείο script και εκθέτει τις συναρτήσεις του στην τρέχουσα εκτέλεση, αλλά UFT δεν καταχωρεί το αρχείο ως tracked πόρου, επομένως δεν εμφανίζεται ποτέ στις Βιβλιοθήκες συσχετισμένων συναρτήσεων στις ρυθμίσεις δοκιμής.
  4. Μοντέλο Αντικειμένου Αυτοματισμού (AOM): Ένα εξωτερικό αρχείο VBScript μπορεί να εκκινηθεί UFT, ανοίξτε μια δοκιμή και προσθέστε μια βιβλιοθήκη στο Test.Settings.Resources.Libraries μέσω προγραμματισμού. Τα σενάρια δημιουργίας ή ανάπτυξης χρησιμοποιούν συνήθως αυτήν την προσέγγιση για να διαμορφώσουν την ίδια βιβλιοθήκη σε δεκάδες δοκιμές με ένα πέρασμα.
' Load a library at run time from inside a script
LoadFunctionLibrary "C:\Automation\CommonFunctions.qfl"

' ExecuteFile works the same way, but UFT does not
' track the file as an associated resource
ExecuteFile "C:\Automation\CommonFunctions.qfl"

Όποια μέθοδο κι αν επιλέξετε, μια βιβλιοθήκη χρειάζεται να συσχετιστεί μόνο μία φορά ανά δοκιμή για τις μεθόδους GUI και AOM, ενώ οι LoadFunctionLibrary και ExecuteFile πρέπει να εκτελούνται ξανά κάθε φορά που εκτελείται το σενάριο, καθώς είναι συνηθισμένες εντολές VBScript και όχι αποθηκευμένες ρυθμίσεις.

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

καλυτερα Practices for Writing UFT/QTP Βιβλιοθήκες λειτουργιών

Μια βιβλιοθήκη συναρτήσεων αποδίδει μόνο εάν όλη η ομάδα μπορεί να την εμπιστευτεί και να την συντηρήσει. Οι ακόλουθες συνήθειες διατηρούν μια βιβλιοθήκη αξιόπιστη καθώς αναπτύσσεται.

  • Χρήση ρητής επιλογής: Προσθέστε το ως την πρώτη γραμμή κάθε βιβλιοθήκης, έτσι ώστε UFT επισημαίνει μια μεταβλητή με ορθογραφικά λάθη αντί να δημιουργεί σιωπηλά μια νέα.
  • Διατηρήστε τα ονόματα των συναρτήσεων μοναδικά: Αν δύο συσχετισμένες βιβλιοθήκες ορίζουν μια συνάρτηση με το ίδιο όνομα, UFT καλεί όποιο φορτώθηκε τελευταίο, έτσι ώστε τα διπλά ονόματα να προκαλούν σιωπηλή, δυσδιάκριτηtracκαι έντομα.
  • Επιστρέφει τιμές αντί να τις κωδικοποιεί σε σκληρό κώδικα: Αποδεχτείτε παραμέτρους και επιστρέψτε ένα αποτέλεσμα, όπως στο παρακάτω παράδειγμα, έτσι ώστε η ίδια συνάρτηση να εξυπηρετεί πολλαπλές δοκιμές αντί για μία.
  • Αποφύγετε το μήνυμαBox σε σενάρια παραγωγής: Ένα πλαίσιο μηνύματος διακόπτει την εκτέλεση μέχρι κάποιος να κάνει κλικ στο OK. Χρησιμοποιήστε Reporter.ReportEvent Αντίθετα, οι καταστάσεις επιτυχίας, αποτυχίας και προειδοποίησης καταγράφονται απευθείας στο δέντρο αποτελεσμάτων χωρίς διακοπήping το τρέξιμο.
  • Ομαδοποίηση κατά τομέα, όχι κατά ευκολία: Διατηρήστε τις συναρτήσεις σύνδεσης, τις συναρτήσεις βάσης δεδομένων και τις βοηθητικές συναρτήσεις UI σε ξεχωριστά αρχεία, ώστε οποιαδήποτε δοκιμή να μπορεί να συσχετίσει μόνο ό,τι πραγματικά χρειάζεται.
  • Διατηρήστε τις βιβλιοθήκες υπό έλεγχο έκδοσης: Αποθηκεύστε τα αρχεία της βιβλιοθήκης συναρτήσεων στο ίδιο αποθετήριο με το υπόλοιπο έργο αυτοματισμού, έτσι ώστε μια επαναφορά του έργου να επαναφέρει επίσης οποιαδήποτε κοινόχρηστη συνάρτηση.
Function AddNumbers(ByVal num1, ByVal num2)
    AddNumbers = num1 + num2
End Function

Dim result
result = AddNumbers(10, 20)
Reporter.ReportEvent micPass, "Sum Calculation", "The result is " & result

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

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

Μια Συνάρτηση μπορεί να επιστρέψει μια τιμή στον καλούντα και μια Sub δεν μπορεί. Χρησιμοποιήστε μια Συνάρτηση όταν ένα σενάριο χρειάζεται ένα αποτέλεσμα πίσω, όπως μια υπολογισμένη τιμή ή μια σημαία επιτυχίας/αποτυχίας, και χρησιμοποιήστε μια Sub για μια αυτόνομη ενέργεια, όπως το κλικ σε ένα κουμπί.

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

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

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

Τα εργαλεία τεχνητής νοημοσύνης μπορούν να μεταφράσουν τη λογική VBScript σε γλώσσες όπως Python or Java ως αρχικό προσχέδιο, αλλά ένας μηχανικός διασφάλισης ποιότητας πρέπει να επαληθεύσει την αναγνώριση αντικειμένων και την επιχειρηματική λογική, καθώς η αυτοματοποιημένη μετάφραση σπάνια διατηρεί και τα δύο τέλεια.

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