Comment couper (espaces avant et arrière) les variables dans la section d'assertion de SoapUI/ReadyAPI?Comment couper (espacer) les variables dans la section assertion de SoapUI?
Ex:
Input String : "Failure "
Output String : "Failure"
Comment couper (espaces avant et arrière) les variables dans la section d'assertion de SoapUI/ReadyAPI?Comment couper (espacer) les variables dans la section assertion de SoapUI?
Ex:
Input String : "Failure "
Output String : "Failure"
Après un peu de google, j'ai obtenu la méthode XSLT/XPath qui permet d'ajuster l'espace des variables données dans la fenêtre Assertion.
Nom de la méthode: normaliser l'espace()
utilisation serait comme: normalize-space (// Résultats [1]/ResultSet [1]/Row [1] /PAYMNT_RQST.PAYMNT_STAT_CD [1]) La fonction normalize-space réduit les espaces dans une chaîne. Plus précisément, il effectue trois étapes:
Merci
Ce n'est pas une méthode Groovy, c'est une méthode XPath. – SiKing
Vous avez raison. Je l'ai mis à jour. Je vous remercie –
Utilisez garniture pour les espaces de fin. Utilisez remplacer pour se débarrasser des espaces.
def trimExample = "Some string to be trimmed. ";
def trimmed = trimExample.trim();
def removeSpacesExample = "Some String To Lose All Spaces."
def removedSpaces = removeSpacesExample.replace(' ', '');
Utilisez log.info (varName) pour voir l'effet.
Ces méthodes ne fonctionnent pas dans la fenêtre contextuelle Assertion de ReadyAPI. –
Cela a fonctionné pour moi dans une Script Assertion et Groovy Script.Je vais re-vérifier au travail le lundi, –
Vous utilisez 'Xpath Match' dès maintenant
Pourriez-vous essayer d'utiliser 'XQuery Match' à la place. découpe automatiquement l'espace
Réponse de l'échantillon où nous avons des espaces après « -1 5 » (donc nous allons essayer de supprimer les espaces
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ConversionRateResponse xmlns="http://www.webserviceX.NET/">
<ConversionRateResult>-1 5 </ConversionRateResult>
</ConversionRateResponse>
</soap:Body>
</soap:Envelope>
Insérez le code ci-dessous dans XQuery match
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace ns1='http://www.webserviceX.NET/';
for $x in //ns1:ConversionRateResponse
return <Result>{data($x/ns1:ConversionRateResult)}</Result>
Voici le résultat, où vous pouvez voir des espaces derrière les 5 sont retirés
<Result>-1 5</Result>
donc, pour votre exemple, le code sera comme ci-dessous dans un match XQuery
for $x in //ns:Results[1]/ns:Resultset[1]/ns:Row[1]
return <Result>{data($x/ns:LM_ELEC_PAYMNT_PAYMNT.PLCY_STAT_CD[1])}</Result>
La meilleure chose serait d'utiliser l'affirmation de script pour tel ou toute autre opération complexe. Mais ci-dessus devrait être utile
Merci pour la réponse. J'ai une méthode simple comme je l'ai mentionné ci-dessous. Donc je n'ai pas pu essayer ça. Je suis sûr que cela aidera également à résoudre ce problème. –
Voulez-vous dire couper ou supprimer les espaces de la valeur attribuée à un var? –
Je veux dire enlever des espaces de la valeur assignée à une variable. –
Pourriez-vous fournir les données de l'échantillon (sous forme de texte, pas d'image) et mentionner quel type d'affirmation utilisez-vous? Et le problème? Problème ni clair du résumé/description ni de vos commentaires de la réponse ci-dessous. – Rao