understanding assertions soapui soapui tutorial 5
Εργαζόμαστε σε βασικά στοιχεία του SoapUI δημιουργία έργων, προσθήκη WSDL, αποστολή αιτήματος και λήψη απαντήσεων και τη δημιουργία περιουσιακών στοιχείων δοκιμής για να τα ακολουθήσουν μέχρι στιγμής.
Σε αυτό το 5ο σεμινάριο SoapUI, θα μάθουμε όλα σχετικά με τους ισχυρισμούς στο SoapUI. Σας συνιστούμε ανεπιφύλακτα ακολουθήστε την πλήρη σειρά προπόνησης SoapUI σε αυτήν τη σελίδα για να μάθετε όλα αυτά τα βασικά χαρακτηριστικά.
Τι θα μάθετε:
- Εισαγωγή στους ισχυρισμούς
- Εργασία με διαφορετικά είδη ισχυρισμών στο SoapUI
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Εισαγωγή στους ισχυρισμούς
Όπως με κάθε δοκιμή, πρέπει να συγκρίνουμε τι θέλουμε να κάνει το σύστημα και τι πραγματικά κάνει, για να καταλήξουμε σε μια συγκεκριμένη επικύρωση ή ισχυρισμό, που ονομάζεται στο πλαίσιο των υπηρεσιών Ιστού. Ως υπεύθυνοι δοκιμών, δεν έχει σημασία αν εκτελέσαμε 1000 ή ακόμη και εκατομμύρια βήματα δοκιμής, αλλά για εμάς, η σύγκριση αποτελεσμάτων είναι αυτό που καθορίζει το αποτέλεσμα μιας δοκιμής.
Επομένως, θα ξοδέψουμε όλο αυτό το άρθρο για να κατανοήσουμε πώς μπορούμε να το κάνουμε αυτό με το SoapUI, αν και οι υπηρεσίες Ιστού μπορούν να διεκπεραιωθούν χειροκίνητα. Επίσης, ένας χειροκίνητος ισχυρισμός είναι χρονοβόρος όταν υπάρχουν πολλές απαντήσεις και απαντήσεις με μεγάλα δεδομένα. Οι ισχυρισμοί του SoapUI είναι εξαιρετικοί για την αντιμετώπιση αυτών των ελλείψεων.
Δηλώσεις SOAPUI συγκρίνετε τα μέρη / όλο το μήνυμα απόκρισης με το αναμενόμενο αποτέλεσμα. Μπορούμε να προσθέσουμε μια ποικιλία ισχυρισμών που παρέχονται από το SoapUI σε οποιοδήποτε βήμα δοκιμής. Κάθε τύπος επιβεβαίωσης στοχεύει συγκεκριμένες επικυρώσεις στην απόκριση, όπως αντιστοίχιση κειμένου, σύγκριση του XPATH ή θα μπορούσαμε επίσης να γράψουμε ερωτήματα με βάση τις ανάγκες μας.
Όταν εκτελούνται τα βήματα δοκιμής, τότε οι σχετικοί ισχυρισμοί λαμβάνουν την απόκριση για τα αντίστοιχα βήματα δοκιμής. Εάν αποτύχει οποιαδήποτε απόκριση, τότε θα γίνει επεξεργασία του αντίστοιχου ισχυρισμού και το αντίστοιχο βήμα δοκιμής θα επισημανθεί ως αποτυχημένο. Αυτή η ειδοποίηση μπορεί να προβληθεί στην προβολή υπόθεσης. Επίσης, μπορούμε να βρούμε αποτυχημένα βήματα δοκιμής στο αρχείο καταγραφής εκτέλεσης δοκιμής. Η οθόνη επιβεβαίωσης του βήματος δοκιμής δείγματος φαίνεται ως εξής:
Στην παραπάνω εικόνα, ορισμένα από τα βήματα δοκιμής έχουν ΑΠΟΤΥΧΕΙ και μερικά από αυτά έχουν περάσει. Ο λόγος είναι ο ισχυρισμός.
Όπως συζητήσαμε νωρίτερα, εάν η συνθήκη επιβεβαίωσης δεν ικανοποιείται με τα αναμενόμενα αποτελέσματα, τότε το αποτέλεσμα ΑΠΟΤΥΧΕΙ.
Εργασία με διαφορετικά είδη ισχυρισμών στο SoapUI
Ας δούμε τώρα πώς να εργαζόμαστε με διαφορετικούς τύπους ισχυρισμών όπως:
- Περιέχει και δεν περιέχει ισχυρισμούς
- XPath αγώνα και
- Ισχυρισμοί XQuery.
Πρώτον, χρειαζόμαστε μια έγκυρη θέση σχήματος WSDL.
Ακολουθήστε τα παρακάτω βήματα:
Βήμα 1. Δημιουργήστε ένα νέο έργο SOAP πατώντας CTRL + N και ακολουθήστε τα βήματα. Μετά τη δημιουργία του έργου, το SOAPUI δημιουργεί τη λίστα των διεπαφών και των αντίστοιχων αιτημάτων.
Βήμα 2. Για να προσθέσετε τη δοκιμαστική σουίτα σε αυτό το έργο, ακολουθήστε τα εξής βήματα:
- Κάντε δεξί κλικ στο όνομα της διεπαφής MedicareSupplierSoap
- Κάντε κλικ Δημιουργία Testsuite επιλογή από το μενού περιβάλλοντος
- Κάντε κλικ στο OK στο παρακάτω παράθυρο που εμφανίζεται:
- Στο επόμενο αναδυόμενο παράθυρο, πρέπει να εισαγάγετε το όνομα της δοκιμαστικής σουίτας που θέλετε και κάντε κλικ στο OK
- Το SOAPUI PRO θα δημιουργήσει τη δοκιμαστική σουίτα μαζί με τα αιτήματα στον πίνακα πλοήγησης.
- Κάτω από τη σουίτα δοκιμών, θα δείτε μερικά από τα βήματα δοκιμής με το βήμα αιτήματος SOAP.
Βήμα 3. Για να εκτελέσετε αυτήν τη δοκιμαστική σουίτα, κάντε διπλό κλικ στο βήμα αίτησης και καθορίστε την τιμή εισαγωγής στην αντίστοιχη θέση. Για παράδειγμα, ανοίξτε GetSupplierByCity αίτημα και εισάγετε Νέα Υόρκη ανάμεσα στις ετικέτες της πόλης.
- Ξεκινήστε αυτό το αίτημα κάνοντας κλικ στο εικονίδιο RUN - αυτό θα λάβει την απάντηση.
- Τώρα ας προσθέσουμε ισχυρισμούς. Για αυτό, κάντε κλικ στο Ισχυρισμοί καρτέλα που υπάρχει στην κορυφή των καρτελών καταγραφής.
- Κάνοντας δεξί κλικ, θα εμφανιστεί ένα αναδυόμενο μενού με μερικές βασικές επιλογές σχετικά με τον ισχυρισμό όπως παρακάτω:
# 1) Περιέχει ισχυρισμό
Κάντε κλικ στην επιλογή Προσθήκη ισχυρισμού ή κάντε κλικ σε αυτήν από τη γραμμή εργαλείων - Προσθήκη ισχυρισμού Το παράθυρο εμφανίζεται στην οθόνη με διαφορετικούς τύπους ισχυρισμών.
1. Κάντε κλικ στο Περιεχόμενο ιδιοκτησίας εμφανίζεται η κατηγορία από τους σχετικούς τύπους ισχυρισμών και η περιγραφή τους
2. Κάντε κλικ στο Περιέχει επιβεβαίωση και κάντε κλικ στο κουμπί Προσθήκη
3. Αυτό είναι το παράθυρο διαμόρφωσης ισχυρισμού. Εδώ πρέπει να καθορίσουμε την αναμενόμενη συνθήκη βάσει της απόκρισης.
Για παράδειγμα είναι, επιτρέψτε μου να μπω Νέα Υόρκη κείμενο σε αυτό το πεδίο κειμένου. Αγνοήστε την υπόθεση σε σύγκριση Το πλαίσιο ελέγχου θα αγνοήσει ακόμη και αν η αναμενόμενη τιμή είναι κεφαλαία ή πεζά.
4. Τώρα εκτελέστε τη δοκιμαστική σουίτα και επαληθεύστε τα αποτελέσματα. Όπως έχετε δει στο παράθυρο της σουίτας δοκιμής, το πράσινο δείχνει την επιτυχή εκτέλεση και το κόκκινο υποδηλώνει αποτυχία.
# 2) Δεν περιέχει ισχυρισμό
Μπορούμε να χρησιμοποιήσουμε τον ισχυρισμό 'δεν περιέχει' για την επικύρωση αιτημάτων σε αρνητικά σενάρια. Μπορούμε να χρησιμοποιήσουμε GetSupplierByZipCode ζητήστε να το μάθετε.
Ανοίξτε την καρτέλα αίτημα κάνοντας διπλό κλικ πάνω της. Στην αίτηση εισαγωγής, εισαγάγετε τον μη έγκυρο ταχυδρομικό κώδικα στην κατάλληλη τοποθεσία, όπως 10029 . Εκτελέστε αυτό το αίτημα τώρα. Ελέγξτε τα δεδομένα απόκρισης που έχουν τα στοιχεία του προμηθευτή για τον δεδομένο ταχυδρομικό κώδικα - ρίξτε μια ματιά στην παρακάτω εικόνα:
(Κάντε κλικ στην εικόνα για μεγέθυνση)
Ο ισχυρισμός «δεν περιέχει», επισημαίνεται με πράσινο χρώμα καθώς εκτελείται με επιτυχία.
Στο παράθυρο διαμόρφωσης, έχουμε διαμορφώσει με θετική αναμενόμενη τιμή όπως παρακάτω:
Επιστρέφει αλήθεια εάν η αναμενόμενη τιμή υπό όρους δεν βρεθεί και επιστρέφει ψευδής εάν η αναμενόμενη τιμή βρίσκεται στο μήνυμα απόκρισης.
Ομοίως, μπορούμε να αλλάξουμε την κατάσταση και να εκτελέσουμε ξανά το αίτημα. Παράγει τα αποτελέσματα αναλόγως.
# 3) Επιβεβαίωση αγώνα XPath
Ο ισχυρισμός αγώνα XPath είναι λίγο διαφορετικός από την άποψη ότι θα διεκδικήσει την απόκριση χρησιμοποιώντας πραγματικά δεδομένα απόκρισης.
Για παράδειγμα , εάν έχουμε μια υπηρεσία Ιστού ελέγχου ταυτότητας σύνδεσης που θα πιστοποιεί τα διαπιστευτήρια χρήστη και θα στείλει την επιβεβαίωση στον πελάτη με κάποιο Boolean τύπο δεδομένων που μπορεί να είναι ΑΛΗΘΕΙΑ ή ΛΑΘΟΣ με τη μορφή XML
Όπως γνωρίζετε τα έγγραφα XML δημιουργούνται με ετικέτες. Έτσι, κατά τον καθορισμό της αναμενόμενης τιμής στη διαμόρφωση, θα πρέπει να έχει τη μορφή XML.
webdriver σελήνιο με παράδειγμα αγγουριού στην έκλειψη
Ας προσπαθήσουμε να το κάνουμε αυτό:
Προσθέστε έναν ακόμη ισχυρισμό για το GetSupplierByCity αίτηση. Στο παράθυρο Add Assertion, κάντε κλικ στο Περιεχόμενο ιδιοκτησίας κατηγορία και στη συνέχεια κάντε κλικ Αγώνα XPath ισχυρισμός.
Εμφανίζεται το παρακάτω παράθυρο:
Το επάνω τμήμα είναι το μέρος δήλωσης και το κάτω μέρος είναι το αναμενόμενο μέρος αποτελέσματος.
Όταν κάνουμε κλικ στο Δηλώνω επιλογή θα λάβουμε μερικά σενάρια δήλωσης που δημιουργούνται αυτόματα όπως παρακάτω:
δηλώστε namespace soap = «http: //schemas.xmlsoap.org/soap/envelope/»;
δηλώστε namespace ns1 = «http: //www.webservicex.net/»;
Στα παραπάνω σενάρια, η πρώτη γραμμή δηλώνει την απόκριση που πρέπει να είναι δεδομένα XML και κλειστές ετικέτες SOAP. Στην επόμενη γραμμή, ολόκληρη η απόκριση θα αντιστοιχιστεί ή θα αντιγραφεί στο ns1 μεταβλητή namespace κατά την εκτέλεση. Αν θέλουμε να φιλτράρουμε συγκεκριμένα δεδομένα από ολόκληρη την απόκριση, πρέπει να προσθέσουμε το ακόλουθο σενάριο.
// ns1: ΠρομηθευτήςData (1)
Όπως γνωρίζετε, εάν εκτελέσετε το GetSupplierByCity αίτημα, θα παράγει την απάντηση που περιέχει τη λίστα των προσωπικών δεδομένων του προμηθευτή στην οποία ανήκει Νέα Υόρκη .
Εδώ, έχουμε χρησιμοποιήσει XPath Match έκφραση για να εξαγάγετε τα προσωπικά στοιχεία του συγκεκριμένου προμηθευτή από τη μαζική απάντηση. Για το σκοπό αυτό, χρησιμοποιήσαμε ένα ns1 μεταβλητός. Τώρα κάντε κλικ στο Επιλέξτε από ένα τρέχον κουμπί.
Στη συνέχεια, το SOAPUI δημιουργεί το ακόλουθο αποτέλεσμα:
0127051883 KMART CORP 250 W 34TH ST NEW YORK NY 10119 0002 (212)760-1242 04
Ανατρέξτε σε αυτό το στιγμιότυπο οθόνης:
Εδώ στα δεδομένα απόκρισης, μπορείτε να δείτε μόνο έναν προσωπικό προμηθευτή. Με βάση τον αριθμό που υπάρχει εντός των γωνιακών αγκυλών, η έξοδος θα δημιουργηθεί.
Μέχρι στιγμής, πρόκειται για την επιλογή του τμήματος της απόκρισης που απαιτείται, πώς μπορούμε / χρησιμοποιούμε XPath Match ισχυρισμός?
Ας φτάσουμε σε αυτό: Κάντε κλικ στο κουμπί Αποθήκευση μόλις είστε εντάξει με την απάντηση.
Αρχικά, εάν θα εκτελέσετε αυτήν την υπηρεσία μετά τη διαμόρφωση της δήλωσης αντιστοίχισης XPath χωρίς αλλαγές, το αποτέλεσμα θα είναι μια επιτυχής απόκριση, η κατάσταση επισημαίνεται με πράσινο χρώμα.
Αλλά ας αλλάξουμε την παράμετρο εισαγωγής στο αίτημα εισαγωγής σε κάτι που δεν είναι έγκυρη πόλη - 'XYZ ή ABC'. Εκτελέστε το αίτημα και ελέγξτε τα αποτελέσματα καθώς και την κατάσταση του ισχυρισμού. Θα λάβουμε απόκριση αποτυχίας και κόκκινη ένδειξη κατάστασης για τον ισχυρισμό. Επειδή είχαμε ήδη καθορίσει ότι τα συγκεκριμένα δεδομένα προμηθευτή θα πρέπει να υπάρχουν στην απόκριση υπηρεσίας στην αναμενόμενη διαμόρφωση αποτελέσματος και όταν το όνομα της πόλης δεν είναι έγκυρο, ο προμηθευτής αυτός σαφώς δεν υπάρχει.
Έτσι μπορούμε να επιβεβαιώσουμε την απόκριση XML χρησιμοποιώντας τον ισχυρισμό έκφρασης XPath Match. Συμφωνώ ότι αυτό είναι αρκετά απλό στην αρχή, αλλά αν προσπαθήσετε με διαφορετικές απαντήσεις υπηρεσιών, θα πάρετε μια πολύ καλύτερη ιδέα.
Μπορούμε επίσης να χρησιμοποιήσουμε συγκεντρωτικές συναρτήσεις στην έκφραση XPath Match. Είναι άθροισμα, ελάχιστο, μέγιστο, μέτρηση και μέσος όρος
Για παράδειγμα , εάν θέλουμε να μάθουμε τον συνολικό αριθμό των προμηθευτών που μετράνε στα αναμενόμενα αποτελέσματα, γράψτε το παρακάτω σενάριο.
μέτρηση (// ns1: ΠρομηθευτήςData) και επιστρέφει 536 σαν άποτέλεσμα. Να θυμάστε ότι όλες οι συναρτήσεις πρέπει να είναι πεζά.
# 4) Δήλωση αντιστοίχισης XQuery
Αυτό είναι λίγο παρόμοιο με τον ισχυρισμό XPath Match. Όπως έχουμε δει στη διαμόρφωση ισχυρισμού XPath Match, θα υπάρχουν δύο ενότητες - δήλωση και αναμενόμενο αποτέλεσμα.
- Προσθέστε τον ισχυρισμό XQuery Match για το αίτημα
- Στο παράθυρο διαμόρφωσης, κάντε κλικ στο δηλώνω κουμπί και γράψτε το ακόλουθο σενάριο
- Τώρα κάντε κλικ Επιλέξτε από το Τρέχον κουμπί
- Το SOAPUI δημιουργεί την απόκριση για το σενάριο
Η έκφραση XQuery υποστηρίζει επίσης την έκφραση XPath Match, αλλά έχει τη δική της σύνταξη δέσμης ενεργειών που δεν μπορεί να χρησιμοποιηθεί στην δήλωση αντιστοίχισης XPath.
Για παράδειγμα :
Θα δούμε ένα παράδειγμα για τη λήψη όλων των απαντήσεων δεδομένων προμηθευτή χρησιμοποιώντας την έκφραση XQuery. Κοιτάξτε αυτό το δείγμα στιγμιότυπου οθόνης για να κατανοήσετε καλύτερα.
Πραγματικό σενάριο:
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; { for $x in //ns1:SupplierData return $x }
Υπάρχουν περισσότερες ενσωματωμένες λειτουργίες διαθέσιμες για χρήση στην έκφραση XQuery. Αυτοί είναι όπου, παραγγείλετε, για, επιστροφή και ούτω καθεξής.
συμπέρασμα
Λοιπόν, αυτοί είναι οι πιο συχνά χρησιμοποιούμενοι ισχυρισμοί για εσάς.
Το σημείο έμφασης εδώ είναι ότι: Οι ισχυρισμοί είναι πιο σημαντικοί για την ακριβή πρόβλεψη του αναμενόμενου αποτελέσματος των διαδικτυακών υπηρεσιών. Αυτός είναι ο λόγος που είναι ένα από τα κλειδιά χαρακτηριστικά στο SOAPUI PRO .
Επόμενο σεμινάριο : Στο επόμενο σεμινάριο, θα πάρουμε groovy με βασικά σενάρια και άλλα…
Παρακαλώ μείνετε συνδεδεμένοι. Όπως πάντα, τα σχόλια, οι ερωτήσεις και οι προτάσεις σας είναι ευπρόσδεκτα.
Συνιστώμενη ανάγνωση
- Πώς να εκτελέσετε δοκιμές βάσει δεδομένων στο SoapUI Pro - SoapUI Tutorial # 14
- 15+ Tutorial SoapUI: Το καλύτερο εργαλείο δοκιμών API υπηρεσιών Ιστού
- Εκμάθηση έκλειψης σε βάθος για αρχάριους
- Τρόπος χρήσης ιδιοτήτων στο σενάριο SoapUI Groovy - SoapUI Tutorial # 7
- 7 Σημαντικά χαρακτηριστικά του SoapUI και του SoapUI Pro - Tutorial 2
- Εργασία με SoapUI Properties - SoapUI Tutorial # 8
- 4 Σημαντικά χαρακτηριστικά του SoapUI Pro για Pro Audience - SoapUI Tutorial # 12
- Βήμα προς βήμα Διαδικασία λήψης και εγκατάστασης SoapUI - Tutorial SoapUI # 3