working with soapui properties soapui tutorial 8
Ce tutoriel concerne les propriétés de SoapUI. Dans le dernier tutoriel SoapUI, nous avons vu comment ajouter des propriétés dans le script Groovy .
Une propriété en SAVON est similaire à une variable / paramètre et dans ce didacticiel, nous expliquerons comment en utiliser une dans une demande de service et lui attribuer une valeur de réponse via un script. Plus tard, nous passerons à l'étape de test de transfert de propriété, puis à l'importation des propriétés.
Ceci est le 8e tutoriel de notre Formation en ligne SoapUI séries.
Qu'est-ce que vous apprendrez de ce didacticiel SoapUI?
- Différentes faces de propriétés
- Intégration des propriétés dans la demande de service
- Comprendre l'étape de test de transfert de propriété
- Charger les propriétés en externe
Il y en a deuxtypes de propriétés dans SoapUI:
- Propriétés par défaut : inclus dans l'installation de SoapUI. Nous pouvons modifier certaines des propriétés par défaut, mais pas toutes.
- Propriétés personnalisées / définies par l'utilisateur : Celles-ci sont définies par nous à tous les niveaux nécessaires, tels que global, projet, suite de tests, cas de test ou étape de test.
Le plus souvent, les propriétés sont utilisées pour stocker et récupérer les données lors de l'exécution des cas de test. En interne, la propriété stockera la valeur au format de paire de clés.
Par exemple , dans l'instruction ci-dessous, «Local_Property_FromCurrency» est un nom de clé et «USD» fait référence à une valeur. Pour accéder à la valeur de la propriété, nous devons utiliser le nom de la propriété.
testRunner.testCase.testSteps («Propriétés»). setPropertyValue
(' Local_Property_FromCurrency ', 'USD' )
Ce que vous apprendrez:
- Différents niveaux de propriété dans SoapUI Pro
- Plus de détails sur les propriétés avec des exemples
- Utilisation des propriétés dans les services
- Transfert de propriété
- Conclusion
- lecture recommandée
Différents niveaux de propriété dans SoapUI Pro
Laissez-nous discuter des différents niveaux de propriété dans SoapUI Pro. Dans SoapUI, trois niveaux de propriétés sont disponibles.
Niveau 1. Projet et propriétés personnalisées
Dans ce niveau, les propriétés sont divisées en deux sections. Ce sont des propriétés de projet et des propriétés personnalisées. Celles-ci apparaîtront en bas du panneau du navigateur lorsque nous cliquons sur le nom du projet. La section des propriétés du projet a des propriétés par défaut qui sont créées lors de la création du projet, par exemple, Nom, Description, Fichier, etc.
Afin de créer nos propres propriétés, nous pouvons utiliser l'onglet des propriétés personnalisées. Cliquez sur l'icône plus pour créer des propriétés:
Il existe de nombreuses autres options disponibles telles que supprimer, monter, descendre et trier après ajouter. N'importe quel nombre de propriétés personnalisées peut être ajouté et utilisé par toutes les sections (suite de tests, cas de test) du projet.
Niveau 2. Suite de tests et propriétés personnalisées
Ces propriétés ne sont visibles que sous la suite de tests. Une suite de tests peut contenir n'importe quel nombre de propriétés et elles sont accessibles à partir de toutes les étapes de test appartenant à ladite suite de tests.
Les propriétés de la suite de tests apparaissent lorsque vous cliquez sur le nom de la suite de tests sous le projet. Pour ajouter des propriétés personnalisées selon vos besoins, cliquez sur l'onglet des propriétés personnalisées et cliquez sur le signe «+» en dessous.
Propriété n ° 3. Cas de test et propriétés personnalisées
Les propriétés du scénario de test sont accessibles dans le scénario de test. Ils ne sont pas accessibles par d'autres étapes de cas de test ni même par une suite de tests dans le cadre du projet.
Plus de détails sur les propriétés avec des exemples
Les propriétés peuvent stocker des points de terminaison, des détails de connexion, des informations d'en-tête et un domaine, etc.
Les niveaux de propriétés décrits ci-dessus sont utilisés dans les scripts pour lire les données.
#1. Propriétés de lecture:
Nous verrons comment nous pouvons lire les propriétés dans un script groovy. Afin d'accéder aux différentes propriétés de niveau, voici la syntaxe:
Projet: Syntaxe: $ {# Nom du projet # Valeur}
Exemple:
def pr ojectPro = testRunner.testC à se.testSuite.project.getPropertyValue
('Project_Level_Property')
'Project_Level_Property')
log.info (projectPro)
Suite de tests: Syntaxe: $ {# TestSuite # Value}
Exemple:
def testP ro = testRunner.testCase.testSuite.getPropertyValue («Testsuite_Property»)
log.info (testPro)
Cas de test: Syntaxe: $ {# TestCase # Value}
Exemple:
def test casePro = testRunner.testCase.getPropertyValue («Testcase_Property»)
log.info (testcasePro)
Reportez-vous à la capture d'écran ci-dessous:
# 2. Écriture dans les propriétés:
Pour ce faire, nous devons utiliser setPropertyValue méthode.
Syntaxe: setPropertyValue ('nom de la propriété', 'valeur')
Si nous attribuons des valeurs à des propriétés inconnues, SoapUI créera ces propriétés récemment. Pour les propriétés existantes recevront les valeurs lors de l'affectation.
# 3. Suppression de propriétés via un script:
Cela peut être fait en cliquant avec le bouton droit sur le nom de la propriété dans le panneau des propriétés. Cliquez ensuite sur l'option Supprimer du menu contextuel.
Pour ce faire, à l'aide d'un script de suppression des propriétés personnalisées, utilisez les instructions suivantes pour les niveaux projet, suite de tests ou cas de test respectivement:
testRunner.testCase.testSuite.project.removeProperty («Testcase_Property»);
testRunner.testCase.testSuite.removeProperty («Testcase_Property»);
testRunner.testCase.removeProperty («Testcase_Property»);
Les scripts ci-dessus ne sont pas optimaux lorsque nous avons plusieurs propriétés dans chaque niveau car ces étapes doivent être répétées plusieurs fois pour chaque propriété. Une alternative consiste à parcourir les propriétés dans le script comme ci-dessous:
testRunner.testCase.properties.each
{
clé, valeur ->
testRunner.testCase.removeProperty (clé)
}
Le script ci-dessus va itérer jusqu'à la dernière propriété disponible dans le cas de test. ' Clé 'Fait référence au nom de la propriété alors que' valeur »Indique la valeur réelle de la propriété. Nous pouvons modifier le script ci-dessus pour supprimer la liste de propriétés en vrac présente à différents niveaux.
# 4. Ajouter une propriété:
Ajouter une propriété est utilisée pour cela dont la syntaxe est:
addProperty (nom de la propriété);
Cela peut être adapté pour chaque niveau comme ci-dessous:
testRunner.testCase.testSuite.project.addProperty («ProjectProperty1»)
testRunner.testCase.testSuite.addProperty («TestsuiteProperty1»)
testRunner.testCase.addProperty («TestcaseProperty1»)
Après avoir exécuté les scripts ci-dessus, cliquez sur le nom du projet / de la suite de tests / du cas de test. Vérifiez l'onglet des propriétés personnalisées dans le panneau des propriétés et la propriété créée apparaît ici. Voir ci-dessous pour référence:
Utilisation des propriétés dans les services
Dans cette section, nous allons apprendre comment utiliser les propriétés dans les services et nous allons utiliser les scripts ci-dessus pour ajouter, attribuer et récupérer des données de propriété avec le service Web de convertisseur de devises.
Intégration des propriétés dans le service:
Commençons par ajouter des étapes de test comme indiqué dans la capture d'écran ci-dessous.
Dans la capture d'écran ci-dessus, l'étape de test AddProperties_Script contient le script suivant qui ajoute deux propriétés telles que Property_FromCurrency et Property_ToCurrency .
// Ajouter des propriétés
testRunner.testCase.addProperty («Property_FromCurrency»)
testRunner.testCase.addProperty («Property_ToCurrency»)
// Attribuer des valeurs aux propriétés
testRunner.testCase.setPropertyValue ('Property_FromCurrency', 'USD')
testRunner.testCase.setPropertyValue («Property_ToCurrency», «INR»)
dans le ServiceRequest_CurrencyConverter_1 contient la requête avec les paramètres d'entrée comme indiqué ci-dessous:
Les valeurs affectées dans les propriétés seront transférées vers ces paramètres lors de l'exécution. Suite à cette étape de test, GetResponseData_Script l'étape de test contient le script qui obtiendra la valeur de la réponse et affichera le résultat dans le journal. Voici le script.
// Obtenir les données de réponse du service
def response = context.expand (‘$ {ServiceRequest_Currency
Converter_1 # Response} ’)
def parsedResponse = new XmlSlurper (). parseText (réponse)
String convertiValue = parsedResponse.Body.ConversionRateResponse.
ConversionRateResult.text ()
log.info (convertiValeur)
Une fois que toutes les étapes sont prêtes, double-cliquez sur le nom de la suite de tests et exécutez la suite de tests. Ensuite, double-cliquez sur le ServiceRequest_CurrencyConverter_1 et voir la section réponse.
Voici ce que nous trouverions:
- La réponse sera reçue
- Ouvrez le journal de script pour voir les données résultantes qui sont converties en fonction des paramètres d'entrée
C'est ainsi que nous pouvons transmettre les paramètres à la requête d'entrée et obtenir la réponse via le script à l'aide de propriétés. En allant plus loin, nous pouvons également transmettre la valeur de la réponse à un autre service en entrée.
Transfert de propriété
L'étape de test de transfert de propriété transfère les données de propriété d'une propriété à une autre pendant l'exécution. Voyons brièvement comment créer une étape de test de transfert de propriété et comment la valeur de propriété est transférée entre deux propriétés.
- Cliquez avec le bouton droit sur le nom du scénario de test sous la suite de tests
- Cliquez sur Ajouter une étape puis cliquez sur Propriétés option du menu contextuel
- Répétez les étapes ci-dessus pour créer la deuxième propriété. Voir la capture d'écran ci-dessous:
- Nous devons maintenant ajouter une étape de test de transfert de propriété.
- Faites un clic droit sur le nom du scénario de test et cliquez sur l'option de transfert de propriété dans le menu contextuel
- Entrez le nom de transfert de propriété souhaité, puis cliquez sur OK
- Cliquez sur Ajouter, c'est-à-dire signe plus dans la barre d'outils de transfert de propriété
- Spécifiez le nom du transfert, puis cliquez sur le bouton OK
- Dans le panneau latéral droit, deux sections sont disponibles: Source et Cible.
Choisissez la source comme Propriétés et la propriété comme Property_Zipcode . Faites de même dans la section cible. Choisir Target_Property à partir de la liste déroulante des propriétés. Lors de l'exécution de l'icône, la valeur de la propriété sera transférée de Property_Zipcode à Target_Property .
(Cliquez sur l'image pour une vue agrandie)
Voir la valeur transférée comme indiqué dans la capture d'écran ci-dessous.
Noter: La propriété source doit contenir la valeur par défaut.
En plus de cela, de nombreuses options sont disponibles dans l'écran de transfert de propriété.
- Échec du transfert en cas d'erreur
- Transférer du contenu textuel
- Transférer à tous
- Autoriser la (les) valeur (s) transférée (s)
- Définir Null sur une source manquante
- Ignorer les valeurs vides / manquantes
- Utiliser XQuery
- Transférer les nœuds enfants
Charger les propriétés depuis une source externe:
Pour charger des propriétés à partir d'une source externe, procédez comme suit.
- Ajouter une étape de test de propriétés sous le scénario de test
- Entrez le nom de l'étape de propriété, puis cliquez sur OK
- Dans le panneau des propriétés sous le panneau de navigation, cliquez sur l'onglet Propriétés personnalisées
- Cliquez sur
icône pour charger les propriétés depuis le fichier de propriétés externe
Noter: Le fichier de propriété doit être enregistré ou présent sur votre ordinateur. Pour enregistrer les propriétés, cliquez sur l'icône.
Ensuite, accédez au lecteur respectif et choisissez la propriété comme indiqué ci-dessous:
Sur OK, nous pouvons voir les propriétés chargées et leurs valeurs dans l'onglet Propriétés personnalisées.
Conclusion
Eh bien, ce sont des propriétés pour nous!
Les propriétés de chaque niveau ont leurs propres caractéristiques. Au cours de votre pratique SoapUI, essayez d'inclure des propriétés chaque fois que possible avec l'étape de test groovy script pour ajouter, supprimer, affecter et récupérer des données de propriété. Ceci n'est pas seulement utile lorsque vous vous entraînez avec les services, mais également essentiel pour les tests d'application réels car cette technique est très utile pour affirmer vos cas de test .
Le transfert de propriétés entre les étapes de test est plus facile que l'écriture de scripts répétés pour en créer de nouveaux. SoapUI offre également la merveilleuse fonctionnalité d'importation et d'exportation des propriétés. Cette fonctionnalité sera utile lorsque nous utilisons des propriétés communes telles que les informations de connexion, les détails de session, etc., pour plusieurs projets. De cette façon, nous n'avons pas à créer les mêmes propriétés encore et encore pour plusieurs projets. Nous pouvons simplement modifier la valeur de la propriété par rapport aux propriétés en fonction des projets.
Tutoriel suivant # 9 : Dans le prochain tutoriel SoapUI, nous allons apprendre Déclarations conditionnelles dans Groovy comme:
- Instructions booléennes
- Déclarations d'itération
- Tableaux dans Groovy
C'est tout pour aujourd'hui. Continuez à lire et nous vous verrons dans le prochain tutoriel. Veuillez partager vos questions, commentaires et expériences ci-dessous.
lecture recommandée
- Comment utiliser les propriétés dans SoapUI Groovy Script - Tutoriel SoapUI # 7
- Comment effectuer des tests basés sur les données dans SoapUI Pro - Tutoriel SoapUI # 14
- 15+ didacticiels SoapUI: le meilleur outil de test d'API de services Web
- Comment écrire un script Groovy de base dans SoapUI - Tutoriel SoapUi # 6
- Tutoriels Eclipse détaillés pour les débutants
- 7 Caractéristiques importantes de SoapUI et SoapUI Pro - Tutoriel 2
- Comprendre les assertions dans SoapUI - Tutoriel SoapUI # 5
- 4 Caractéristiques importantes de SoapUI Pro pour le public professionnel - Tutoriel SoapUI # 12