Assertions dans SoapUI: Scripts, XQuery, Types XPath
โก Rรฉsumรฉ intelligent
Assertions dans SoapUI Ce sont les points de contrรดle qui dรฉterminent si une rรฉponse de service Web est correcte, transformant une requรชte qui s'exรฉcute simplement en un test qui rรฉussit ou รฉchoue rรฉellement sur un contenu rรฉel et vรฉrifiable.
Qu'est-ce qu'une assertion ?
L'affirmation signifie l'acte d'affirmer ou de dรฉclarer quelque chose. Il peut รฉgalement รชtre interprรฉtรฉ comme un point de contrรดle ou un point de validation.
Lorsqu'une requรชte est envoyรฉe ร un serveur web, une rรฉponse est reรงue. Il est nรฉcessaire de vรฉrifier si cette rรฉponse contient les donnรฉes attendues. Pour ce faire, on utilise des assertions. Sans assertion, un test prouve seulement que le service a rรฉpondu, et non qu'il a rรฉpondu correctement. C'est pourquoi chaque assertion est essentielle. Test d'API devrait en porter au moins un.
Types d'affirmation
Il existe diffรฉrentes maniรจres de formuler une rรฉponse ; toutefois, nous nous concentrerons sur les plus courantes. SoapUI types d'assertions lors de la validation d'une rรฉponse. Ci-dessous figurent les catรฉgories disponibles dans la version Open Source de SoapUI.
- Contenu de la propriรฉtรฉ
- Norme de statut de conformitรฉ
- scรฉnario
- Contrat de niveau de service
- JMS
- Sรฉcuritรฉ
La boรฎte de dialogue regroupe chaque assertion sous ces catรฉgories, comme le montre la capture d'รฉcran ci-dessous.

Outre les fonctionnalitรฉs mentionnรฉes ci-dessus, la version Pro dispose รฉgalement d'une assertion JDBC intรฉgrรฉe permettant de vรฉrifier si le service Web a correctement mis ร jour la base de donnรฉes.
Note de version : actuel SoapUI La documentation mentionne รฉgalement une JDBC catรฉgorie (รtat JDBC et Dรฉlai d'attente JDBC) aux cรดtรฉs des catรฉgories ci-dessus, et une Contenu du message assertion au sein du contenu de la propriรฉtรฉ pour une comparaison XML plus riche. L'รฉdition commerciale appelรฉe ici ยซ Pro ยป est maintenant vendue sous le nom de ReadyAPI par SmartBear, les libellรฉs des menus dans les versions plus rรฉcentes peuvent donc diffรฉrer, mรชme si le comportement des assertions reste le mรชme.
Contient une assertion
Recherche l'existence de la chaรฎne spรฉcifiรฉe. Il prend รฉgalement en charge les expressions rรฉguliรจres.
Nous continuerons avec le mรชme exemple du tutoriel prรฉcรฉdent avec une requรชte WSDL comme http://www.dneonline.com/calculator.asmxSi vous n'avez pas encore rรฉalisรฉ ce projet, suivez les รฉtapes suivantes. crรฉation d'un projet, d'une suite de tests et d'un cas de test d'abord.
รtape 1 : Par dรฉfaut, il nโy a pas dโassertions.
- Le nombre d'assertions est affichรฉ dans l'onglet Assertions.
- Pour ajouter une nouvelle assertion, cliquez sur le bouton ยซ Ajouter une nouvelle assertion ยป.
รtape 2: Maintenant,
- Sรฉlectionnez la catรฉgorie d'assertion.
- Sรฉlectionnez le type d'assertion.
- Cliquez sur ยซ Ajouter ยป
รtape 3 : Vรฉrifions si la chaรฎne ยซ 46 ยป figure dans la rรฉponse. Cliquez sur ยซ OK ยป.
Remarque : Nous pouvons รฉgalement ignorer la casse et ajouter une expression rรฉguliรจre.
รtape 4 : Dรจs son ajout, une assertion est immรฉdiatement exรฉcutรฉe et indique si elle est VALIDE ou INVALIDE.
รtape 5 : Supposons maintenant que nous modifions le contenu de ยซ Contient lโassertion dans ยป. SoapUIPassez ร '47' et voyez ce qui se passe.
รtape 6 : Lโassertion est exรฉcutรฉe et le rรฉsultat est renvoyรฉ ร lโutilisateur. Comme la chaรฎne ยซ 47 ยป est absente de la rรฉponse, lโassertion a รฉchouรฉ.
Ne contient pas d'assertion
Son homologue fonctionne ร l'inverse : il recherche l'absence de la chaรฎne spรฉcifiรฉe et prend รฉgalement en charge les expressions rรฉguliรจres.
รtape 1 : Aprรจs avoir cliquรฉ sur le bouton ยซ Ajouter de nouvelles assertions ยป,
- Sรฉlectionnez la catรฉgorie d'assertion.
- Sรฉlectionnez le type d'assertion โ Dans ce cas, ยซ NE contient PAS ยป
- Cliquez sur ยซ Ajouter ยป
รtape 2 : Vรฉrifions si la chaรฎne ยซ intA ยป figure dans la rรฉponse. Saisissez la chaรฎne ยซ FromCurrency ยป et cliquez sur ยซ OK ยป.
รtape 3 : Dรจs quโune assertion est ajoutรฉe, elle est exรฉcutรฉe et son rรฉsultat sโaffiche. Nous avons ajoutรฉ deux assertions jusquโร prรฉsent ; elles sont donc toutes deux exรฉcutรฉes et leur rรฉsultat est affichรฉ.
รtape 4 : Modifions maintenant le contenu de lโassertion ยซ Ne contient pas ยป et observons le rรฉsultat. Nous allons vรฉrifier lโabsence de la chaรฎne ยซ AddResult ยป.
รtape 5 : La chaรฎne ยซ AddResult ยป est effectivement prรฉsente dans la rรฉponse, par consรฉquent lโassertion ยซ NOT Contains ยป รฉchouera comme indiquรฉ ci-dessous.
Assertion de correspondance XPath
La correspondance de chaรฎnes รฉtant imprรฉcise, l'assertion suivante cible un seul nลud. Elle utilise une expression XPath pour sรฉlectionner le nลud cible et ses valeurs. XPath, est un langage de requรชte XML permettant de sรฉlectionner des nลuds dans un document XML.
รtape 1 : Aprรจs avoir cliquรฉ sur le bouton ยซ Ajouter de nouvelles assertions ยป,
- Sรฉlectionnez la catรฉgorie d'assertion.
- Sรฉlectionnez le type d'assertion โ Dans ce cas, ยซ XPath Match ยป
- Cliquez sur ยซ Ajouter ยป
รtape 2 : Ajouter XPath. La fenรชtre sโouvre.
Avant d'ajouter un SoapUI En XPath, il est nรฉcessaire de dรฉclarer l'espace de noms. Un espace de noms XML est un ensemble de noms, identifiรฉs par une rรฉfรฉrence URI (Uniform Resource Identifier), utilisรฉs dans les documents XML comme noms d'รฉlรฉments et d'attributs. Le mรชme principe s'applique ร โฆ SoapUI Assertion XPath.
Pour dรฉclarer un espace de noms XML, il suffit de cliquer sur le bouton ยซ Dรฉclarer ยป, qui se chargera du reste ; sinon, nous pouvons รฉgalement dรฉclarer manuellement un espace de noms.
Aprรจs avoir dรฉclarรฉ l'espace de noms, nous devons faire rรฉfรฉrence au XPath en utilisant l'espace de noms crรฉรฉ.
En cliquant sur le bouton ยซ Dรฉclarer ยป, deux espaces de noms s'affichent, car nous avons deux URI. L'un d'eux est le schรฉma. URL et l'autre correspond au service web proprement dit URLIl est nรฉcessaire d'utiliser l'espace de noms rรฉel oรน se trouve le service web, et non l'espace de noms du schรฉma, lors de l'utilisation de XPath. Les lignes dรฉclarรฉes apparaissent en haut de la zone XPath, comme illustrรฉ ci-dessous.
dรฉclarer l'espace de noms soap='http://schemas.xmlsoap.org/soap/envelope/';
dรฉclarer l'espace de noms ns1='http://tempuri.org/';
รtape 3 : Nous devons maintenant saisir le XPath du nลud XML que nous devons valider.
//ns1:AddResult Nous donne la valeur du nลud compris entre & et ns1 correspond ร l'espace de noms dรฉclarรฉ qui pointe vers 'http://tempuri.org/'
Aprรจs avoir entrรฉ le XML, nous devons cliquer sur ยซ Sรฉlectionner ร partir du courant ยป afin que la valeur de la rรฉponse actuelle soit rรฉcupรฉrรฉe pour une comparaison ultรฉrieure.
รtape 4 : Jusquโร prรฉsent,
- Aprรจs avoir dรฉclarรฉ les espaces de noms, nous sommes entrรฉs dans le nลud XPath du XML que nous devons valider.
- Nous devons cliquer sur ยซ Sรฉlectionner ร partir du courant ยป pour faire de la valeur actuelle la valeur attendue.
- La valeur actuelle est affichรฉe ร l'utilisateur et nous pouvons la modifier si nรฉcessaire.
- Cliquez sur ยซ Enregistrer ยป.
รtape 5 : Lโassertion ajoutรฉe dans SoapUI s'affichera comme indiquรฉ ci-dessous.
Assertions de script
Cette technique d'assertion est la plus utilisรฉe car elle est extrรชmement difficile ร gรฉrer et ร maintenir des centaines d'assertions.
SoapUI utilise soit Groovy Script ou Javascรฉnario pour les assertions de script. La technique de script est adoptรฉe pour le dรฉveloppementping un cadre de test pour SOAP. Les assertions de script sont utilisรฉes dans les circonstances suivantes.
- Le script permet ร l'utilisateur d'effectuer certaines opรฉrations avant et aprรจs l'exรฉcution d'un cas de test, grรขce aux mรฉthodes de configuration (setup) et de nettoyage (teardown). La configuration est une procรฉdure exรฉcutรฉe avant l'exรฉcution d'une mรฉthode particuliรจre (par exemple, la crรฉation et l'initialisation d'un objet), tandis que le nettoyage est une procรฉdure exรฉcutรฉe aprรจs l'exรฉcution de la mรฉthode (par exemple, la destruction des objets et le nettoyage de la mรฉmoire). Cette fonctionnalitรฉ n'est pas disponible pour les autres types d'assertions et ne peut รชtre implรฉmentรฉe que par le biais du code.
- Il permet aux utilisateurs d'ouvrir/fermer un projet, d'initialiser ou de nettoyer les paramรจtres liรฉs au projet et รฉgalement de travailler avec des variables d'environnement, ce qui est trรจs utile lors de la crรฉation de scripts.
- Cela nous aide ร affirmer un contenu de rรฉponse dynamique.
- Les assertions de script sont utilisรฉes pour crรฉer des assertions dรฉfinies par l'utilisateur qui ne sont PAS prรฉdรฉfinies par SoapUI.
Pour dรฉmontrer une assertion de script dans SoapUINous utiliserons le WSDL de la calculatrice, le cas de test ยซ Add ยป que nous avions crรฉรฉ prรฉcรฉdemment.
รtape 1 : La procรฉdure dโajout dโun script Groovy est identique ร celle des autres assertions, ร ceci prรจs que lโassertion nโest pas prรฉdรฉfinie. Il sโagit dโune assertion dรฉfinie par lโutilisateur, offrant une plus grande flexibilitรฉ que les assertions intรฉgrรฉes.
Sรฉlectionnez l'รฉtape de test ร laquelle l'assertion doit รชtre ajoutรฉe.
Cliquez sur le bouton ยซ Ajouter une assertion ยป comme indiquรฉ ci-dessous.
รtape 2 : Sรฉlectionnez maintenant la catรฉgorie Assertion.
- Dans ce cas, il s'agit de Script.
- Sรฉlectionner SoapUI Assertion de script et aucun sous-type associรฉ.
- Cliquez sur ยซ Ajouter ยป.
รtape 3 : La boรฎte de dialogue de script sโouvre, dans laquelle lโutilisateur pourra รฉcrire un script personnalisรฉ pour valider la rรฉponse XML.
รtape 4 : รcrivons maintenant un script Groovy pour valider le taux de conversion. Le script est joint ci-dessous avec les commentaires intรฉgrรฉs. Il est recommandรฉ dโavoir des connaissances enโฆ Java Scรฉnario ou Groovy Script avant dโessayer dโรฉcrire votre propre script.
//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"}
- Cliquez sur le bouton ยซ Exรฉcuter ยป pour dรฉclencher l'exรฉcution.
- La sortie du script est affichรฉe dans le volet Sortie. Il a imprimรฉ ร la fois la valeur de conversion ainsi que le rรฉsultat final (rรฉussite ou รฉchec).
- Les informations affichรฉes indiquent ยซ Assertion de script rรฉussie ยป. Cliquez sur OK.
Remarque : La fenรชtre contextuelle d'information finale s'affichera toujours avec le message ยซ Assertion de script rรฉussie ยป tant que le script est syntaxiquement correct. Cela n'a aucune corrรฉlation avec votre affirmation dans le script.
cliquez sur OK
รtape 5 : Lโonglet Assertion affiche maintenant toutes les assertions que nous avons ajoutรฉes pour cette suite de tests, avec le statut de chacune dโelles.
รtape 6: maintenant
- Sรฉlectionnez la suite de tests dans l'arborescence du navigateur
- Cliquez sur le bouton ยซ Exรฉcuter ยป
- Les rรฉsultats seraient affichรฉs pour lโensemble de la suite de tests.
Assertion de correspondance XQuery
Elle utilise une expression XQuery pour sรฉlectionner le contenu de la propriรฉtรฉ cible. Nous avons besoin d'une rรฉponse XML beaucoup plus volumineuse pour mieux comprendre l'assertion XQuery. SoapUIImportons un autre fichier WSDL, comme indiquรฉ ci-dessous : http://www.webservicex.net/medicareSupplier.asmx?WSDL
ร noter: Les points de terminaison de dรฉmonstration publics de webservicex.net utilisรฉs dans ce tutoriel ne sont plus accessibles de maniรจre fiable ; les captures dโรฉcran de requรชtes et de rรฉponses ci-dessous sont donc conservรฉes ร titre dโexemple. Tout WSDL renvoyant un ensemble de nลuds rรฉpรฉtitifs dรฉclenchera lโassertion XQuery de maniรจre identique.
รtape 1 : Faites un clic droit sur le projet existant et sรฉlectionnez ยซ Ajouter WSDL ยป.
รtape 2 : La boรฎte de dialogue Ajouter un WSDL sโouvre. Laissez les autres options par dรฉfaut et cliquez sur le bouton ยซ OK ยป.
รtape 3 : Toutes les opรฉrations sont listรฉes comme indiquรฉ ci-dessous.
รtape 4 : Ajoutons maintenant un Cas de test au sein de la mรชme suite de tests que nous avions crรฉรฉe pour Tests le convertisseur de devises.
รtape 5 : Saisissez le nom du cas de test et cliquez sur le bouton ยซ OK ยป.
รtape 6 : Le cas de test est crรฉรฉ comme indiquรฉ ci-dessous.
รtape 7 : Ajoutez une nouvelle รฉtape de test de type ยซ Requรชte de test SOAP ยป comme indiquรฉ ci-dessous.
รtape 8 : Saisissez le nom de lโรฉtape de test. Par exemple : ยซ Fournisseur_par_Ville ยป, ce qui serait plus explicite. Cliquez sur ยซ OK ยป.
รtape 9: Sรฉlectionnez le Operation que nous souhaitons valider. Dans ce cas, il s'agit de ยซ MedicareSupplierSoap -> GetSupplierByCity ยป. Cliquez sur ยซ OK ยป.
รtape 10 : Saisissez le nom du cas de test et cliquez sur ยซ OK ยป.
รtape 11 : Le schรฉma XML de la requรชte sโaffichera comme indiquรฉ ci-dessous.
รtape 12 : Maintenant, recherchons toutes les informations sur les fournisseurs pour la ville de ยซ New York ยป.
Pour ce faire, ajoutez les lignes suivantes ร votre code.
<GetSupplierByCity xmlns="http://www.webservicex.net/"> <City>New York</City> </GetSupplierByCity>
WSDL ci-dessous URL โ http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity
รtape 13 : Aprรจs lโexรฉcution du test, nous obtenons la rรฉponse ci-dessous.
รtape 14 : Supposons que nous devions valider tous les numรฉros de fournisseur. Nous ne pouvons pas utiliser dโassertions XPath, car il nous en faudrait des centaines. Lโutilisation de XQuery est donc inรฉvitable dans ce cas.
XQuery Assertion nous aide ร valider un groupe de rรฉponses XML de nature rรฉpรฉtitive.
รtape 15 : Cliquez maintenant sur ยซ Ajouter une assertion ยป.
- Sรฉlectionnez la ยซ Catรฉgorie d'assertion ยป โ Contenu de la propriรฉtรฉ dans ce cas.
- Sรฉlectionnez le type d'assertion comme ยซ Assertion XQuery ยป
- Cliquez sur ยซ Ajouter ยป.
รtape 16 : Comme pour lโassertion XPath, nous devons dรฉclarer lโespace de noms.
- Cliquez sur le bouton ยซ Dรฉclarer ยป pour autoriser automatiquement SoapUI Pour dรฉclarer l'espace de noms, cliquez sur le bouton ยซ Dรฉclarer ยป. Une fenรชtre contextuelle s'affichera avec le message ยซ Dรฉclarez plutรดt l'espace de noms ร partir du schรฉma ยป. Cliquez sur ยซ Oui ยป pour continuer, comme indiquรฉ ci-dessous.
- Pour rรฉcupรฉrer tous les numรฉros de fournisseur, nous devons รฉcrire une requรชte XPath et nous la placerons dans < SupplierNumber> et Mots clรฉs.
- Cliquez sur ยซ Sรฉlectionner ร partir du courant ยป qui s'exรฉcutera ร partir de la rรฉponse actuelle.
- En cliquant sur ยซ Sรฉlectionner parmi les fournisseurs actuels ยป, tous les numรฉros de fournisseur s'affichent.
- Cliquez sur ยซ Enregistrer ยป.
Remarque : En cliquant sur le bouton ยซ Dรฉclarer ยป, vous pourriez obtenir des rรฉsultats diffรฉrents. URLBien que cette dรฉclaration d'espace de noms soit utilisรฉe, c'est l'espace de noms de l'emplacement rรฉel du service Web qui sera pris en compte pour le codage.
L'expression XQuery finale, avec ses dรฉclarations d'espace de noms, ressemble ร ceci.
// 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)} }
รtape 17 : Lโassertion XQuery est exรฉcutรฉe et affiche le rรฉsultat final dans le panneau ยซ Assertion ยป, comme illustrรฉ ci-dessous. Nous avons ainsi ajoutรฉ avec succรจs une assertion XQuery permettant de valider toutes les informations relatives aux numรฉros de fournisseur. Ces informations seront comparรฉes aux valeurs rรฉelles ร chaque envoi dโune requรชte au serveur web.
Remarque : Les valeurs rรฉelles ne seront pas affichรฉes. Si toutes les valeurs rรฉelles sont identiques ร celles des valeurs attendues, alors il affiche VALIDE, sinon il affichera ยซ รchec ยป.
Quand utiliser lโassertion intรฉgrรฉe ?
Les options de pointage et de clic ainsi que les options scriptรฉes รฉtant toutes deux abordรฉes, la question pratique est de savoir laquelle choisir.
- Lorsqu'une rรฉponse est courte, elle peut รชtre validรฉe ร l'aide de l'une de ces assertions intรฉgrรฉes.
- Nous pouvons รฉgalement utiliser l'assertion intรฉgrรฉe si la rรฉponse envoyรฉe depuis le serveur Web est toujours de nature statique. S'il est dynamique, nous ne pourrons pas l'affirmer ร l'aide d'assertions intรฉgrรฉes.
- Lorsque l'utilisation d'assertions intรฉgrรฉes telles que les assertions Time out et les assertions de sรฉcuritรฉ devient inรฉvitable.
- Les assertions intรฉgrรฉes conviennent assez bien pour une utilisation unique oรน les tests n'ont pas besoin d'รชtre rรฉpรฉtรฉs.
Options d'assertions
Les assertions crรฉรฉes peuvent รชtre mieux contrรดlรฉes ร l'aide du panneau de contrรดle mis en รฉvidence ci-dessous.
Les assertions crรฉรฉes permettent aux testeurs de configurer les รฉlรฉments suivants ร partir de la boรฎte ร outils d'assertions.
| Option | Description |
| L'assertion sรฉlectionnรฉe monte dans l'ordre. | |
| L'assertion sรฉlectionnรฉe descend dans l'ordre. | |
| Supprime l'assertion sรฉlectionnรฉe | |
| Reconfigurez/modifiez l'assertion sรฉlectionnรฉe. |
Vous trouverez ci-dessous les fonctionnalitรฉs disponibles exclusivement dans la version Pro de SoapUI, maintenant expรฉdiรฉ sous forme de ReadyAPILa version Pro nous permet รฉgalement de regrouper les assertions afin d'ajouter une couche de validation supplรฉmentaire aux assertions crรฉรฉes.
- ET: Toutes les assertions sont รฉvaluรฉes comme des assertions VALIDES, ce qui entraรฎnera la rรฉussite du groupe.
- OU: Au moins une des assertions au sein du groupe doit รชtre VALIDE pour qu'une condition de groupe RรUSSIE soit รฉtablie.
- La version Pro permet รฉgalement Clonage d'assertionsCette option permet aux testeurs d'autoriser la copie d'une assertion vers une autre รฉtape de test, que ce soit dans le mรชme projet ou dans un projet diffรฉrent.
- Activer/Dรฉsactiver les assertions : cette option permet dโactiver ou de dรฉsactiver toute assertion, groupรฉe ou non. Une assertion dรฉsactivรฉe est grisรฉe et ne sera pas exรฉcutรฉe lors de lโexรฉcution dโun test.
- Dissocier les assertions groupรฉes : les assertions groupรฉes peuvent รชtre dissociรฉes si les testeurs le souhaitent.
Liste complรจte des mรฉthodes disponibles dans diffรฉrents types d'assertions
Le tableau ci-dessous rassemble toutes les assertions mentionnรฉes ci-dessus, regroupรฉes par catรฉgorie dans laquelle elles apparaissent dans la boรฎte de dialogue Ajouter une assertion.
| Mรฉcanisme d'affirmation | Description |
| CONTENU DE LA PROPRIรTร | |
| Inclus | Recherche l'existence de la chaรฎne spรฉcifiรฉe. Il prend รฉgalement en charge les expressions rรฉguliรจres. |
| Ne contient pas | Recherche la non-existence de la chaรฎne spรฉcifiรฉe. Il prend รฉgalement en charge les expressions rรฉguliรจres. |
| Correspondance XPath | Utilise l'expression XPath pour sรฉlectionner le nลud cible et ses valeurs. |
| Correspondance XQuery | Utilise une expression XQuery pour sรฉlectionner le contenu de la propriรฉtรฉ cible. |
| Conformitรฉ, statut, normes | |
| HTTP Tรฉlรฉcharger toutes les ressources | Valide le document HTML aprรจs le tรฉlรฉchargement et il est valable pour toute propriรฉtรฉ contenant du HTML. |
| Statut HTTP invalide Codes | Vรฉrifie si la rรฉponse HTML contient un code d'รฉtat qui ne figure pas dans la liste des codes dรฉfinis. |
| Pas de dรฉfaut SOAP | Vรฉrifie si le dernier message reรงu n'est pas une erreur SOAP. Il est trรจs รฉvident que cela ne s'applique qu'aux รฉtapes de test SOAP. |
| Conformitรฉ au schรฉma | Vรฉrifie si le dernier message reรงu est conforme ร la dรฉfinition de schรฉma standard WSDL ou WADL. Convient aux รฉtapes de test SOAP et REST. |
| Dรฉfaut SAVON | Vรฉrifie si le dernier message reรงu est une erreur SOAP. C'est l'inverse des assertions de faute ยซ PAS SOAP ยป. |
| Rรฉponse SOAP | Vรฉrifie si la derniรจre rรฉponse reรงue est une rรฉponse SOAP valide et est valable uniquement pour les รฉtapes de demande de test SOAP. |
| Statut HTTP valide Codes | Vรฉrifie si la rรฉponse HTML contient un code d'รฉtat figurant dans la liste des codes dรฉfinis. C'est l'inverse d'un code d'รฉtat HTTP invalide. Codes' Assertion. |
| Demande d'adressage WS | Vรฉrifie si la derniรจre demande reรงue contient les en-tรชtes WS-Addressing appropriรฉs. |
| Rรฉponse d'adressage WS | Vรฉrifie si la derniรจre rรฉponse reรงue contient les en-tรชtes WS-Addressing appropriรฉs. |
| Statut de sรฉcuritรฉ WS | Valide si le dernier message reรงu contient des en-tรชtes WS-Security valides et est valable uniquement pour les requรชtes SOAP. |
| scรฉnario | |
| Assertion de script | Permet aux utilisateurs d'exรฉcuter un script personnalisรฉ pour effectuer des validations dรฉfinies par l'utilisateur. |
| Contrat de niveau de service | |
| Rรฉponse SLA | Valide si le temps de rรฉponse de la derniรจre rรฉponse reรงue รฉtait dans la limite dรฉfinie. |
| JMS | |
| Statut JMS | Vรฉrifie si la requรชte JMS de l'รฉtape de test s'est exรฉcutรฉe avec succรจs et est valable pour les รฉtapes de test avec un point de terminaison JMS. |
| Expiration du dรฉlai JMS | Vรฉrifie si la rรฉponse JMS d'une รฉtape de test n'a pas pris plus de temps que la durรฉe spรฉcifiรฉe. |
| Sรฉcuritรฉ | |
| Exposition ร des informations sensibles | Vรฉrifie si le message de rรฉponse n'expose pas d'informations sensibles sur le systรจme cible. Nous pouvons utiliser cette assertion pour les รฉtapes de test REST, SOAP et HTTP. |
TรLรCHARGEZ LE PROJET SOAPUI CONTENANT LES ASSERTIONS CI-DESSUS
Erreurs courantes et dรฉpannage
La plupart des รฉchecs d'assertion tracNous en revenons ร un petit nombre d'erreurs, alors vรฉrifiez-les avant de rรฉรฉcrire une expression.
- Utilisez l'espace de noms correct. L'espace de noms doit รชtre le URL oรน se trouve le service web.
- Si une erreur est levรฉe lors du dรฉveloppementping Dans une assertion de script, utilisez 'log.info' pour afficher le contenu des variables.
- Si vous n'obtenez pas le rรฉsultat souhaitรฉ, vรฉrifiez si une entrรฉe valide est transmise dans la requรชte.
Par exemple, dans un convertisseur de devises, si vous saisissez ยซ x ยป comme valeur non entiรจre pour ยซ intA ยป, le systรจme renvoie le code d'erreur ยซ SOAP-Client ยป, indiquant un problรจme avec le paramรจtre transmis par le client. La requรชte contenant la valeur invalide est affichรฉe en premier.
La rรฉponse renvoie le code d'erreur au lieu d'un rรฉsultat, comme indiquรฉ ci-dessous.
Assurez-vous d'utiliser la syntaxe correcte lors de l'utilisation d'assertions XPath et XQuery. N'utilisez PAS le point (.) ร la place du deux-points (:) dans l'assertion ci-dessus. La syntaxe correcte est //namespace:Tagname et NON //namespace.tagname. En cas d'erreur, vous risquez d'obtenir le message ยซ Aucune correspondance dans la rรฉponse actuelle ยป mรชme si le nom de la balise est correct.














































