Ισχυρισμοί στο SoapUI: Σενάρια, XQuery, XPath Types Tutorial
Τι είναι ο ισχυρισμός;
Ισχυρισμός σημαίνει πράξη επιβεβαίωσης ή δήλωσης κάτι. Μπορεί επίσης να ερμηνευθεί ως σημείο ελέγχου ή σημείο επικύρωσης.
Μόλις αποσταλεί ένα αίτημα σε διακομιστή web, λαμβάνεται μια απάντηση. Πρέπει να επικυρώσουμε εάν η απάντηση περιέχει τα δεδομένα που αναμένουμε. Για να επικυρώσουμε την απάντηση, πρέπει να χρησιμοποιήσουμε ισχυρισμούς.
Τύποι ισχυρισμών
Υπάρχουν διάφοροι τρόποι για να διεκδικήσετε μια απάντηση. Ωστόσο, θα επικεντρωθούμε στους τύπους SoapUI Assertions που χρησιμοποιούνται συνήθως ενώ επικυρώνουμε μια απάντηση. Παρακάτω είναι αυτά που είναι διαθέσιμα στην έκδοση ανοιχτού κώδικα του SoapUI.
- Περιεχόμενο ιδιοκτησίας
- Πρότυπο κατάστασης συμμόρφωσης
- Γραφή
- SLA
- JMS
- Ασφάλεια

Εκτός από αυτά που αναφέρονται παραπάνω, η έκδοση PRO έχει επίσης ενσωματωμένο JDBC Assertion με το οποίο μπορούμε να διαβεβαιώσουμε εάν η υπηρεσία web έχει ενημερώσει σωστά τη βάση δεδομένων.
ΠΕΡΙΕΧΕΙ ΔΗΛΩΣΗ
Αναζητά την ύπαρξη της καθορισμένης συμβολοσειράς. Υποστηρίζει επίσης κανονική έκφραση.
Θα συνεχίσουμε με το ίδιο παράδειγμα από το προηγούμενο σεμινάριο με αίτημα WSDL όπως http://www.dneonline.com/calculator.asmx.
Βήμα 1: Από προεπιλογή δεν υπάρχουν ισχυρισμοί.
- Ο αριθμός των ισχυρισμών εμφανίζεται στην καρτέλα Δηλώσεις.
- Για να προσθέσετε έναν νέο ισχυρισμό, κάντε κλικ στο κουμπί «Προσθήκη νέου ισχυρισμού».
Βήμα 2: Τώρα,
- Επιλέξτε την κατηγορία ισχυρισμών.
- Επιλέξτε τον Τύπο βεβαίωσης.
- Κάντε κλικ στο "Προσθήκη"
Βήμα 3: Ας επιβεβαιώσουμε εάν η συμβολοσειρά '46' υπάρχει στην απάντηση. Κάντε κλικ στο "OK"
Σημείωση: Μπορούμε επίσης να αγνοήσουμε πεζά και να προσθέσουμε τυπική έκφραση.
Βήμα 4: Με την προσθήκη του, εκτελείται αμέσως η διαβεβαίωση και δείχνει αν ΕΓΚΥΡΕΙ ή ΑΚΥΡΟ.
Βήμα 5: Τώρα ας πούμε ότι αλλάξαμε το περιεχόμενο του 'Contains Assertion in SoapUI' σε '47' και θα δούμε τι θα συμβεί.
Βήμα 6: Ο ισχυρισμός εκτελείται και το αποτέλεσμα αποστέλλεται στον χρήστη. Εφόσον δεν έχουμε τη συμβολοσειρά "47" στην απάντηση, ο ισχυρισμός απέτυχε.
ΔΕΝ ΠΕΡΙΕΧΕΙ ΔΗΛΩΣΗ
Αναζητά την ανυπαρξία της καθορισμένης συμβολοσειράς. Υποστηρίζει επίσης κανονική έκφραση.
Βήμα 1: Τώρα, αφού κάνετε κλικ στο κουμπί «προσθήκη νέων ισχυρισμών»,
- Επιλέξτε την κατηγορία ισχυρισμών.
- Επιλέξτε τον τύπο δήλωσης – Σε αυτήν την περίπτωση «ΔΕΝ περιέχει»
- Κάντε κλικ στο "Προσθήκη"
Βήμα 2: Ας επιβεβαιώσουμε εάν η συμβολοσειρά 'intA' υπάρχει στην απόκριση. Εισαγάγετε τη συμβολοσειρά "FromCurrency" και κάντε κλικ στο "OK"
Βήμα 3: Μόλις προστεθεί ένας ισχυρισμός, εκτελείται και εμφανίζει το αποτέλεσμα. Μέχρι στιγμής έχουμε προσθέσει δύο ισχυρισμούς, επομένως και οι δύο ισχυρισμοί εκτελούνται και εμφανίζουν το αποτέλεσμα.
Βήμα 4: Τώρα ας αλλάξουμε τα περιεχόμενα του «Δεν περιέχει ισχυρισμό» και ας δούμε τι συμβαίνει. Θα ελέγξουμε αν δεν υπάρχει η συμβολοσειρά "AddResult".
Βήμα 5: Η συμβολοσειρά "AddResult" είναι στην πραγματικότητα παρούσα στην απάντηση, επομένως ο ισχυρισμός "NOT Contains" θα αποτύχει όπως φαίνεται παρακάτω.
ΔΙΣΚΩΣΗ ΑΓΩΝΑ XPATH
μπορείτε να χρησιμοποιήσετε XPath έκφραση για να επιλέξετε τον κόμβο-στόχο και τις τιμές του. Το XPath, είναι μια γλώσσα ερωτημάτων XML για την επιλογή κόμβων από ένα έγγραφο XML.
Βήμα 1: Τώρα, αφού κάνετε κλικ στο κουμπί «Προσθήκη νέων ισχυρισμών»,
- Επιλέξτε την κατηγορία ισχυρισμών.
- Επιλέξτε τον Τύπο διεκδίκησης – Σε αυτήν την περίπτωση «Αντιστοιχία XPath»
- Κάντε κλικ στο "Προσθήκη"
Βήμα 2: Προσθήκη XPath Ανοίγει το παράθυρο.
Πριν προσθέσουμε το SoapUI XPath, πρέπει να δηλώσουμε το NameSpace. Ένας χώρος ονομάτων XML είναι μια συλλογή ονομάτων, που προσδιορίζονται από μια αναφορά Uniform Resource Identifier (URI), τα οποία χρησιμοποιούνται σε έγγραφα XML ως ονόματα στοιχείων και χαρακτηριστικών. Το ίδιο χρησιμοποιείται στο SOAP UI XPath Assertion.
Για να δηλώσουμε Χώρο Ονομάτων XML, πρέπει απλώς να κάνουμε κλικ στο κουμπί «Δήλωση» που θα έκανε τη δουλειά για εμάς, αλλιώς μπορούμε επίσης να δηλώσουμε χειροκίνητα έναν χώρο ονομάτων.
Μετά τη δήλωση του χώρου ονομάτων, πρέπει να αναφερθούμε στο XPath χρησιμοποιώντας τον δημιουργημένο χώρο ονομάτων.
Κάνοντας κλικ στο κουμπί "Δήλωση", θα εμφανιστούν δύο χώροι ονομάτων καθώς έχουμε δύο URI. Ένα από αυτά είναι η διεύθυνση URL του σχήματος και η άλλη αντιστοιχεί στην πραγματική διεύθυνση URL της υπηρεσίας Ιστού. Πρέπει να χρησιμοποιήσουμε τον πραγματικό χώρο ονομάτων όπου βρίσκεται η υπηρεσία Ιστού και ΟΧΙ τον χώρο ονομάτων σχήματος κατά την αναφορά του XPath.
δήλωση namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
δήλωση χώρου ονομάτων ns1='http://tempuri.org/';
Βήμα 3: Τώρα πρέπει να εισαγάγουμε το XPath του κόμβου XML που πρέπει να επικυρώσουμε.
//ns1:AddResult Μας δίνει την τιμή του κόμβου που περικλείεται μεταξύ & και το ns1 αντιστοιχεί στον δηλωμένο χώρο ονομάτων που δείχνει το 'http://tempuri.org/'
Αφού εισαγάγουμε το XML, πρέπει να κάνουμε κλικ στο 'Επιλογή από το τρέχον' έτσι ώστε η τιμή από την τρέχουσα απόκριση να συλλέγεται για σύγκριση στο μέλλον.
Βήμα 4: Μέχρι τώρα,
- Αφού δηλώσουμε τους χώρους ονομάτων, έχουμε εισαγάγει τον κόμβο XPath του XML που πρέπει να επικυρώσουμε.
- Πρέπει να κάνουμε κλικ στο 'Επιλογή από το τρέχον' για να κάνουμε την τρέχουσα τιμή ως την αναμενόμενη τιμή.
- Η τρέχουσα τιμή εμφανίζεται στον χρήστη την οποία μπορούμε να τροποποιήσουμε εάν απαιτείται.
- Κάντε κλικ στο «Αποθήκευση».
Βήμα 5: Ο προστιθέμενος ισχυρισμός στο SoapUI θα εμφανιστεί όπως φαίνεται παρακάτω.
Δηλώσεις σεναρίου
Αυτή η τεχνική του Assertion είναι η πιο ευρέως χρησιμοποιούμενη καθώς είναι εξαιρετικά δύσκολο να διαχειριστεί και να διατηρήσει εκατοντάδες ισχυρισμούς.
Το SOAP UI χρησιμοποιεί είτε Groovy Σενάριο ή JavaΓραφή για scripting ισχυρισμούς. Η τεχνική scripting υιοθετείται για την ανάπτυξη ενός πλαισίου για τη δοκιμή SOAP. Οι ισχυρισμοί δέσμης ενεργειών χρησιμοποιούνται υπό τις ακόλουθες συνθήκες.
Η δέσμη ενεργειών επιτρέπει στο χρήστη να εκτελεί ορισμένες λειτουργίες πριν και μετά την εκτέλεση ενός TestCase χρησιμοποιώντας μεθόδους ρύθμισης και κατάργησης αντίστοιχα. Το Set up είναι μια διαδικασία που εκτελείται πριν από την εκτέλεση μιας συγκεκριμένης μεθόδου (παράδειγμα – Δημιουργία αντικειμένων και αρχικοποίηση) ενώ το tear down είναι μια διαδικασία που εκτελείται μετά την εκτέλεση της μεθόδου (π.χ.: Καταστροφή αντικειμένων και εκκαθάριση). Αυτή η δυνατότητα δεν είναι διαθέσιμη σε άλλους τύπους Assertion και μπορεί να γίνει μόνο μέσω κωδικοποίησης.
Επιτρέπει στους χρήστες να εκτελούν το άνοιγμα/κλείσιμο ενός Έργου, προκειμένου να αρχικοποιήσουν ή να καθαρίσουν τις ρυθμίσεις που σχετίζονται με το Έργο και επίσης να εργαστούν με περιβαλλοντικές μεταβλητές που είναι πολύ χρήσιμο κατά τη δημιουργία σεναρίων.
Μας βοηθά να διεκδικήσουμε ένα δυναμικό περιεχόμενο απόκρισης.
Οι ισχυρισμοί δέσμης ενεργειών χρησιμοποιούνται για τη δημιουργία ισχυρισμών που ορίζονται από το χρήστη που ΔΕΝ έχουν προκαθοριστεί από το SOAP UI.
Για την επίδειξη ισχυρισμού σεναρίου στο SoapUI, θα χρησιμοποιήσουμε την αριθμομηχανή WSDL, τη δοκιμαστική περίπτωση «Προσθήκη» που είχαμε δημιουργήσει νωρίτερα.
Βήμα 1: Τα βήματα για την προσθήκη του σεναρίου groovy είναι τα ίδια με αυτά άλλων ισχυρισμών, εκτός από το ότι ο ισχυρισμός δεν είναι προκαθορισμένος. Αντίθετα, είναι ένας ισχυρισμός που ορίζεται από το χρήστη που προσφέρει μεγαλύτερη ευελιξία από τα ενσωματωμένα.
Επιλέξτε το βήμα δοκιμής στο οποίο πρέπει να προστεθεί ο ισχυρισμός.
Κάντε κλικ στο κουμπί «Προσθήκη ισχυρισμού» όπως φαίνεται παρακάτω.
Βήμα 2: Τώρα επιλέξτε την κατηγορία Επιβεβαίωση.
- Σε αυτή την περίπτωση είναι Script.
- Επιλέξτε SoapUI Script Assertion και δεν υπάρχουν υποτύποι που να σχετίζονται με αυτό.
- Κάντε κλικ στο «Προσθήκη».
Βήμα 3: Ανοίγει ο διάλογος δέσμης ενεργειών όπου ο χρήστης θα μπορεί να γράψει σενάριο καθορισμένο από το χρήστη για να επικυρώσει την απάντηση XML.
Βήμα 4: Τώρα ας γράψουμε ένα σενάριο groovy για να επικυρώσουμε το ποσοστό μετατροπής. Το σενάριο επισυνάπτεται παρακάτω με τα σχόλια ενσωματωμένα. Συνιστάται να έχετε γνώσεις για Java Σενάριο ή Groovy Σενάριο πριν επιχειρήσετε να γράψετε το δικό σας σενάριο.
//Define Groovy Utils and holder for validating the XML reponse content def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) def holder = groovyUtils.getXmlHolder(messageExchange.responseContent) //Define the NameSpace holder.namespaces["ns1"] = "http://tempuri.org/" //Get the Value of the Node 'AddResult' and assign to a variable def addResult = holder.getNodeValue("//ns1:AddResult") //print the value of the result in the Output panel log.info "The result value for integers is " + addResult //Comparing the value to print 'Pass' or 'Fail' if(addResult=="46") { log.info "Pass" } else { log.info "fail"}
- Κάντε κλικ στο κουμπί "Εκτέλεση" για να ενεργοποιήσετε την εκτέλεση.
- Η έξοδος του Script εμφανίζεται στο παράθυρο Output. Έχει εκτυπώσει τόσο την Αξία μετατροπής όσο και το τελικό αποτέλεσμα (Επιτυχία ή Αποτυχία)
- Εμφανίζεται η πληροφορία ότι «Πέρασε η δήλωση δέσμης ενεργειών». Κάντε κλικ στο OK.
Σημείωση: Το τελικό αναδυόμενο παράθυρο πληροφοριών θα εμφανίζεται πάντα με το μήνυμα "Η δέσμευση σεναρίου πέρασε" εφόσον το σενάριο είναι συντακτικά σωστό. Δεν έχει καμία σχέση με τον ισχυρισμό σου μέσα στο σενάριο.
κάντε κλικ στο OK
Βήμα 5: Τώρα η καρτέλα διαβεβαίωσης εμφανίζει όλους τους ισχυρισμούς που είχαμε προσθέσει για αυτήν τη δοκιμαστική σουίτα με την Κατάσταση έναντι καθενός από αυτές.
Βήμα 6: Τώρα
- Επιλέξτε το Test Suite από το δέντρο Navigator
- Κάντε κλικ στο κουμπί "Εκτέλεση".
- Τα αποτελέσματα θα εμφανίζονται για ολόκληρη τη δοκιμαστική σουίτα.
Δήλωση αντιστοίχισης Xquery
Χρησιμοποιεί μια έκφραση Xquery για να επιλέξει περιεχόμενο από την ιδιότητα προορισμού. Χρειαζόμαστε μια πολύ μεγαλύτερη XML απόκρισης για να κατανοήσουμε καλύτερα τον ισχυρισμό XQuery στο SoapUI. Ας εισάγουμε ένα άλλο WSDL όπως φαίνεται παρακάτω: http://www.webservicex.net/medicareSupplier.asmx?WSDL
Βήμα 1: Κάντε δεξί κλικ στο υπάρχον έργο και επιλέξτε «Προσθήκη WSDL».
Βήμα 2: Κάντε δεξί κλικ στο υπάρχον έργο και επιλέξτε «Προσθήκη WSDL». Αφήστε άλλες επιλογές ως προεπιλογή και κάντε κλικ στο κουμπί «OK».
Βήμα 3: Όλες οι λειτουργίες παρατίθενται όπως φαίνεται παρακάτω.
Βήμα 4: Τώρα ας προσθέσουμε ένα Δοκιμαστική θήκη μέσα στην ίδια δοκιμαστική σουίτα για την οποία είχαμε δημιουργήσει Δοκιμές ο μετατροπέας νομισμάτων.
Βήμα 5: Εισαγάγετε το όνομα της δοκιμαστικής περίπτωσης και κάντε κλικ στο κουμπί «OK».
Βήμα 6: Η δοκιμαστική περίπτωση δημιουργείται όπως φαίνεται παρακάτω.
Βήμα 7: Πρόσθεση
ένα νέο βήμα δοκιμής τύπου «Αίτημα δοκιμής σαπουνιού» όπως φαίνεται παρακάτω.
Βήμα 8: Εισαγάγετε το όνομα του βήματος δοκιμής. Ας πούμε – Supplier_by_City που θα είχε πιο νόημα Κάντε κλικ στο «OK».
Βήμα 9: Επιλέξτε το Operaπου θα θέλαμε να επικυρώσουμε. Σε αυτήν την περίπτωση είναι «MedicareSupplierSoap -> GetSupplierByCity». Κάντε κλικ στο 'OK'.
Βήμα 10: Εισαγάγετε το Όνομα της δοκιμαστικής περίπτωσης και κάντε κλικ στο «OK».
Βήμα 11: Το περίγραμμα αίτησης XML θα εμφανιστεί όπως φαίνεται παρακάτω.
Βήμα 12: Τώρα ας βρούμε όλες τις πληροφορίες προμηθευτών για την πόλη «Νέα Υόρκη».
Για να το κάνετε αυτό, προσθέστε τις ακόλουθες γραμμές στον κώδικά σας.
<GetSupplierByCity xmlns="http://www.webservicex.net/"> <City>New York</City> </GetSupplierByCity>
WSDL στην παρακάτω διεύθυνση URL – http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity
Βήμα 13: Κατά την εκτέλεση της δοκιμής, λαμβάνουμε την παρακάτω απάντηση
Βήμα 14: Ας πούμε ότι πρέπει να επικυρώσουμε όλο τον αριθμό προμηθευτή. Δεν μπορούμε να χρησιμοποιήσουμε το XPath Assertion καθώς πρέπει να έχουμε εκατοντάδες XPath Assertion. Ως εκ τούτου, η χρήση του XQuery είναι αναπόφευκτη σε αυτήν την περίπτωση.
Το XQuery Assertion μας βοηθά να επικυρώσουμε μια ομάδα απόκρισης XML που είναι επαναλαμβανόμενης φύσης.
Βήμα 15: Τώρα κάντε κλικ στο «Προσθήκη ισχυρισμού»,
- Επιλέξτε την «Κατηγορία ισχυρισμών» – Περιεχόμενο ιδιοκτησίας σε αυτήν την περίπτωση.
- Επιλέξτε τον Τύπο διεκδίκησης ως "Διαφήμιση XQuery"
- Κάντε κλικ στο «Προσθήκη».
Βήμα 16: Παρόμοια με το XPath Assertion πρέπει να δηλώσουμε τον χώρο ονομάτων.
-
Κάντε κλικ στο κουμπί "Δήλωση" για να επιτρέψετε αυτόματα στο SOAP UI να δηλώσει τον χώρο ονομάτων. Κάνοντας κλικ στο κουμπί δήλωσης θα εμφανιστεί στον χρήστη ένα 'POP up' με το μήνυμα 'δηλώστε το χώρο ονομάτων από το σχήμα αντί'. Κάντε κλικ στο «Ναι» για να προχωρήσετε όπως φαίνεται παρακάτω.
Σημείωση: Όταν πατήσετε το κουμπί "Δήλωση" μπορεί να καταλήξετε με διαφορετικές διευθύνσεις URL ως δήλωση χώρου ονομάτων, ωστόσο, ο πραγματικός χώρος ονομάτων τοποθεσίας της υπηρεσίας Ιστού είναι αυτός που θα ληφθεί υπόψη για κωδικοποίηση.
- Για την ανάκτηση όλου του Supplier Number, πρέπει να γράψουμε ένα ερώτημα XPath και θα το τοποθετήσουμε στο < SupplierNumber> και Ετικέτες.
- Κάντε κλικ στο «Επιλογή από το τρέχον» που θα εκτελεστεί από την τρέχουσα απάντηση.
- Κάνοντας κλικ στο «Επιλογή από το τρέχον», εμφανίζεται όλος ο αριθμός προμηθευτή.
- Κάντε κλικ στο «Αποθήκευση».
// Namespace declaration declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; declare namespace x = ''; // Placing the result in Myresult Tags{ // Iterating through all the supplier number for $x in //ns1:GetSupplierByCityResponse/ns1:SupplierDataLists/ns1:SupplierDatas/ns1:SupplierData //Return all the Supplier number within ‘SupplierNumber’ Tags. return {data($x/ns1:SupplierNumber)} }
Βήμα 17: Το XQuery Assertion εκτελείται και εμφανίζει το τελικό αποτέλεσμα στον πίνακα "Assertion" όπως φαίνεται παρακάτω. Τώρα προσθέσαμε με επιτυχία έναν ισχυρισμό Xquery χρησιμοποιώντας τον οποίο έχουμε επικυρώσει όλες τις πληροφορίες Αριθμού προμηθευτή. Το ίδιο θα συγκρίνεται με τα πραγματικά, κάθε φορά που το αίτημα αποστέλλεται στον διακομιστή ιστού.
Σημείωση: Οι πραγματικές τιμές δεν θα εμφανιστούν. Εάν όλες οι πραγματικές τιμές είναι ίδιες με αυτές των αναμενόμενων τιμών, τότε εμφανίζεται η ένδειξη ΕΓΚΥΡΗ διαφορετικά θα εμφανιστεί η ένδειξη "Αποτυχία".
Πότε να χρησιμοποιήσετε το Inbuilt Assertion;
- Όταν μια απάντηση είναι σύντομη ώστε να μπορεί να επικυρωθεί χρησιμοποιώντας έναν από αυτούς τους ενσωματωμένους ισχυρισμούς.
- Μπορούμε επίσης να χρησιμοποιήσουμε το Inbuilt Assertion εάν η απάντηση που αποστέλλεται από τον διακομιστή web είναι πάντα στατική. Εάν είναι δυναμικό, δεν θα μπορούμε να το επιβεβαιώσουμε χρησιμοποιώντας ενσωματωμένους ισχυρισμούς.
- Όταν η χρήση ενσωματωμένων βεβαιώσεων, όπως οι ισχυρισμοί χρονικού ορίου και οι ισχυρισμοί ασφάλειας καθίσταται αναπόφευκτη.
- Το Inbuilt Assertions διατηρείται αρκετά καλά για εφάπαξ χρήση όπου οι δοκιμές δεν χρειάζεται να επαναληφθούν.
Επιλογές ισχυρισμών
Οι ισχυρισμοί που δημιουργούνται μπορούν να ελεγχθούν καλύτερα με τη βοήθεια του πίνακα ελέγχου που επισημαίνεται παρακάτω.
Οι δημιουργημένοι ισχυρισμοί επιτρέπουν στους δοκιμαστές να διαμορφώσουν τα ακόλουθα πράγματα από την εργαλειοθήκη των ισχυρισμών.
Επιλογή | Τεχνικές Περιγραφές |
---|---|
|
Ο επιλεγμένος ισχυρισμός ανεβάζει τη σειρά. |
|
Ο επιλεγμένος ισχυρισμός μετακινείται προς τα κάτω στη σειρά. |
|
Καταργεί τον επιλεγμένο ισχυρισμό |
|
Επαναδιαμόρφωση/Επεξεργασία του επιλεγμένου ισχυρισμού. |
- Παρακάτω είναι οι λειτουργίες που είναι διαθέσιμες αποκλειστικά στην έκδοση PRO του SOAP UI. Η έκδοση PRO μας βοηθά επίσης να ομαδοποιήσουμε τους ισχυρισμούς, ώστε να μπορούμε να προσθέσουμε ένα ακόμη επίπεδο επικύρωσης στους ισχυρισμούς που δημιουργήθηκαν.
- Η έκδοση Pro επιτρέπει επίσης Κλωνοποίηση Ισχυρισμών: Αυτή η επιλογή επιτρέπει στους δοκιμαστές να επιτρέπουν την αντιγραφή ενός ισχυρισμού σε διαφορετικό στάδιο δοκιμής στο ίδιο ή σε διαφορετικό έργο.
- Απενεργοποίηση/Ενεργοποίηση ισχυρισμών: Αυτή η επιλογή επιτρέπει την απενεργοποίηση ή την ενεργοποίηση οποιουδήποτε ομαδοποιημένου ή μη ομαδοποιημένου ισχυρισμού. Εάν ένας ισχυρισμός είναι απενεργοποιημένος, γίνεται γκρίζος και όταν εκτελείται μια δοκιμαστική περίπτωση, οι απενεργοποιημένοι ισχυρισμοί δεν θα εκτελούνται.
- Κατάργηση ομαδοποίησης ισχυρισμών: Τυχόν ομαδοποιημένοι ισχυρισμοί μπορούν να αποομαδοποιηθούν εάν οι υπεύθυνοι δοκιμών αποφασίσουν να το κάνουν.
ΚΑΙ: Όλοι οι ισχυρισμοί αξιολογούνται ως ΕΓΚΥΡΟΣ ισχυρισμός που θα έχει ως αποτέλεσμα ΕΠΙΒΕΒΗΘΗΚΗ συνθήκη ομάδας. Ή: Τουλάχιστον ένας από τους ισχυρισμούς εντός της ομάδας πρέπει να είναι ΕΓΚΥΡΟΣ για να υποστηριχθεί μια συνθήκη ΠΕΡΙΒΑΣΗΣ ομάδας.
Πλήρης λίστα μεθόδων που διατίθενται σε διάφορους τύπους ισχυρισμών
Μηχανισμός Επιβολής |
Τεχνικές Περιγραφές |
ΠΕΡΙΕΧΟΜΕΝΟ ΑΚΙΝΗΤΟΥ | |
Περιέχει | Αναζητά την ύπαρξη της καθορισμένης συμβολοσειράς. Υποστηρίζει επίσης κανονική έκφραση. |
Δεν περιέχει | Αναζητά την ανυπαρξία της καθορισμένης συμβολοσειράς. Υποστηρίζει επίσης κανονική έκφραση. |
Ταίριασμα XPath | Χρησιμοποιεί την έκφραση XPath για να επιλέξει τον κόμβο προορισμού και τις τιμές του. |
XQuery Match | Χρησιμοποιεί μια έκφραση Xquery για να επιλέξει περιεχόμενο από την ιδιότητα προορισμού. |
Συμμόρφωση, Κατάσταση, Πρότυπα | |
HTTP Λήψη όλων των πόρων | Επικυρώνει το Έγγραφο HTML μετά τη λήψη και διατηρείται καλά σε οποιαδήποτε ιδιότητα που περιέχει HTML. |
Μη έγκυροι κωδικοί κατάστασης HTTP | Επαληθεύει εάν η απάντηση HTML περιέχει έναν κωδικό κατάστασης που δεν περιλαμβάνεται στη λίστα των καθορισμένων κωδικών. |
Δεν είναι σφάλμα SOAP | Επαληθεύει εάν το τελευταίο μήνυμα που ελήφθη δεν είναι σφάλμα SOAP. Είναι πολύ προφανές ότι ισχύει μόνο για SOAP Test Steps. |
Συμμόρφωση Σχήματος | Επαληθεύει εάν το τελευταίο ληφθέν μήνυμα είναι συμβατό με τον τυπικό ορισμό σχήματος WSDL ή WADL. Κρατάει καλά για SOAP και REST Test Steps. |
Σφάλμα SOAP | Επαληθεύει εάν το τελευταίο ληφθέν μήνυμα είναι σφάλμα SOAP. Είναι το αντίστροφο των βεβαιώσεων σφαλμάτων «NOT SOAP». |
SOAP Response | Επαληθεύει εάν η τελευταία ληφθείσα απάντηση είναι έγκυρη απόκριση SOAP και ισχύει μόνο για τα βήματα αιτήματος δοκιμής SOAP. |
Έγκυροι κωδικοί κατάστασης HTTP | Επαληθεύει εάν η απάντηση HTML περιέχει έναν κωδικό κατάστασης που βρίσκεται στη λίστα των καθορισμένων κωδικών. Είναι το αντίστροφο του ισχυρισμού «Μη έγκυροι κωδικοί κατάστασης HTTP». |
WS-Αίτημα Διεύθυνσης | Επαληθεύει εάν το τελευταίο αίτημα που ελήφθη περιέχει κατάλληλες κεφαλίδες διεύθυνσης WS. |
Απάντηση διεύθυνσης WS | Επαληθεύει εάν η τελευταία ληφθείσα απάντηση περιέχει κατάλληλες κεφαλίδες διεύθυνσης WS. |
WS-Security Status | Επικυρώνεται εάν το τελευταίο ληφθέν μήνυμα περιέχει έγκυρες κεφαλίδες WS-Security και ισχύει μόνο για αιτήματα SOAP. |
Γραφή | |
Διακήρυξη σεναρίου | Επιτρέπει στους χρήστες να εκτελέσουν ένα προσαρμοσμένο σενάριο για την εκτέλεση επικυρώσεων που ορίζονται από το χρήστη. |
SLA | |
SLA απόκρισης | Επικυρώνεται εάν ο χρόνος απόκρισης της τελευταίας ληφθείσας απάντησης ήταν εντός του καθορισμένου ορίου. |
JMS | |
Κατάσταση JMS | Επαληθεύει εάν το αίτημα JMS του Βήματος δοκιμής έχει εκτελεστεί με επιτυχία και ισχύει για τα Βήματα δοκιμής με τελικό σημείο JMS. |
Χρονικό όριο JMS | Επαληθεύει εάν η απόκριση JMS ενός βήματος δοκιμής δεν κράτησε περισσότερο από την καθορισμένη διάρκεια. |
Ασφάλεια | |
Έκθεση ευαίσθητων πληροφοριών | Επαληθεύει εάν το μήνυμα απάντησης δεν εκθέτει ευαίσθητες πληροφορίες σχετικά με το σύστημα προορισμού. Μπορούμε να χρησιμοποιήσουμε αυτόν τον ισχυρισμό για Βήματα δοκιμής REST, SOAP και HTTP. |
ΚΑΤΕΒΑΣΤΕ ΤΟ ΕΡΓΟ SOAPUI ΠΟΥ ΠΕΡΙΕΧΕΙ ΤΟΥΣ ΠΑΡΑΠΑΝΩ ΔΙΑΒΑΣΙΜΟΥΣ
Συνήθη σφάλματα και αντιμετώπιση προβλημάτων
Χρησιμοποιήστε το σωστό χώρο ονομάτων. Ο χώρος ονόματος πρέπει να είναι η διεύθυνση URL όπου βρίσκεται η υπηρεσία web.
Εάν παρουσιαστεί σφάλμα κατά την ανάπτυξη ενός ισχυρισμού δέσμης ενεργειών, χρησιμοποιήστε το 'log.info' για να εκτυπώσετε τα περιεχόμενα των μεταβλητών
Εάν δεν έχετε την επιθυμητή έξοδο, βεβαιωθείτε ότι έχει περάσει μια έγκυρη είσοδος στο αίτημα.
Για παράδειγμα, στον μετατροπέα νομισμάτων, εάν εισαγάγετε το 'intA' ως 'x' που δεν είναι ακέραιος, η έξοδος ρίχνει έναν κωδικό σφάλματος ως 'SOAP-Client' που σημαίνει ότι το πρόβλημα είναι με την παράμετρο που μεταβιβάζεται από το πλευρά πελάτη.
Βεβαιωθείτε ότι χρησιμοποιείτε τη σωστή σύνταξη κατά τη χρήση XPATH και XQuery assertion. ΔΕΝ πρέπει να χρησιμοποιείτε dot(.) αντί για άνω και κάτω τελεία(:) ενώ χρησιμοποιείτε τον παραπάνω ισχυρισμό. Η Σύνταξη είναι //namespace:Tagname και ΟΧΙ //namespace.tagname. Με αυτόν τον τρόπο, μπορεί να καταλήξετε να λάβετε ένα μήνυμα ότι "ΚΑΜΙΑ αντιστοίχιση στην τρέχουσα απάντηση" παρόλο που το όνομα της ετικέτας είναι σωστό.