Comment créer une suite de tests et un cas de test dans SoapUI

⚡ Résumé intelligent

Création d'un SoapUI Le projet, la suite de tests et les cas de tests permettent de structurer les tests des services Web SOAP. Ce guide explique les principes fondamentaux du protocole SOAP, l'importation de WSDL, l'exécution des requêtes, la configuration des assertions et l'analyse des journaux de réponses pour des tests fonctionnels et de régression fiables.

  • 🧠 SOAP Foundation: SOAP est un protocole basé sur XML, indépendant de la plateforme et véhiculé via HTTP, qui permet l'échange de messages entre des systèmes disparates.
  • (I.e. Création de projet : Importez le WSDL dans un nouveau SoapUI Projet SOAP pour générer automatiquement des exemples de requêtes pour chaque opération.
  • 🇧🇷 Configuration de la suite de tests : Cliquez avec le bouton droit sur la racine du projet pour ajouter une suite de tests qui regroupe les cas de test associés pour une exécution organisée.
  • 🧪 Étapes du cas de test : Ajoutez des étapes de requête SOAP, choisissez l'opération cible et configurez les assertions standard telles que la conformité du schéma et les vérifications des erreurs SOAP.
  • (I.e. Inspection de la réponse : Utilisez l'onglet RAW et les volets de journalisation (SoapUI Journal (journal HTTP, journal des erreurs, journal de la mémoire) pour valider les codes d'état HTTP et dépanner les requêtes.

Comment créer une suite de tests et un cas de test dans SoapUI

Comprendre le protocole SOAP

Avant de créer un SoapUI Ce cas pratique permet de revoir les bases du protocole SOAP. Une bonne compréhension du fonctionnement des requêtes et des réponses SOAP entre les systèmes facilite son utilisation. SoapUI pour les tester efficacement.

SAVON signifie Protocole d'accès aux objets simpleVoici les principales propriétés du protocole SOAP :

  • Il s'agit d'un protocole basé sur XML utilisé pour communiquer entre deux systèmes différents.
  • Il est indépendant de toute plateforme et de tout langage. Un système développé à l'aide de Java peut communiquer avec un système développé en .NET.
  • Les requêtes et réponses SOAP sont transportées via HTTP.

Apprenez le format des messages SOAP

Un message SOAP est un document XML ordinaire contenant les éléments suivants. Un message peut être soit une requête, soit une réponse.

FORMAT du message SOAP
Format de message SOAP

Une fois les fondamentaux de SOAP établis, l'étape suivante consiste à construire le SoapUI Structure du projet, suites de tests et cas de test nécessaires à la validation d'un service web donné. La procédure détaillée ci-dessous utilise une structure de projet, des suites de tests et des cas de test nécessaires à la validation d'un service web donné. SoapUI Exemple de projet pour créer un nouveau projet SOAP.

Création d'un projet SOAP dans SoapUI

Le projet SOAP contient la définition WSDL importée ainsi que toutes les requêtes d'exemple générées pour chaque opération.

Étape 1 : Selon le type de projet, importez le protocole SOAP ou REST. Dans cet exemple, créez un nouveau projet SOAP.

Création d'un nouveau projet SOAP

Étape 2 : Utilisez la requête SOAP suivante URL: http://www.dneonline.com/calculator.asmx?wsdl

  1. Saisissez le nom du projet.
  2. Saisissez le chemin d'accès à la requête WSDL (dans ce cas, http://www.dneonline.com/calculator.asmx?wsdl).
  3. Cliquez à nouveau OK.

Saisissez le nom du projet SOAP et le chemin WSDL

Remarque:

  • Créer un exemple de requête pour toutes les opérations : Génère un exemple de requête pour chaque opération du WSDL. Activé par défaut lors de la saisie de l'adresse WSDL ; peut être désactivé si nécessaire.
  • Créez une suite de tests pour le WSDL importé : Ajoute un SoapUI Suite de tests au sein du projet pour le WSDL importé.
  • Chemins relatifs : Enregistre tous les fichiers par rapport au fichier projet pour faciliter leur portabilité.

Étape 3 : Après avoir créé le projet SOAP avec le WSDL ci-dessus, deux opérations seront importées dans le projet.

Projet SOAP importé Operations

Étape 4 : Développez la première requête, clic droit Ajouter, puis clique Nouvelle requête.

Ajouter une nouvelle requête au projet SOAP

Puis cliquer OKLa requête SOAP s'affiche au format XML.

Format XML de requête SOAP

  1. Entrez des valeurs pour intA et intB.
  2. Cliquez sur Soumettre .
  3. Le code XML de réponse apparaît dans le volet de droite.

Soumettre une requête SOAP et afficher la réponse

Pourquoi créer des cas de test plutôt que des requêtes directes ?

Il est possible d'envoyer directement une requête pour une seule opération, mais cette approche atteint rapidement ses limites lorsqu'il faut tester plusieurs combinaisons d'entrées. Par exemple, passer de 5+5 à 4+4 nécessite de modifier la requête à chaque fois. Une suite de tests avec des cas de test permet de réutiliser chaque scénario sans altérer l'opération d'origine.

Comment créer une suite de tests dans SoapUI

Une suite de tests est un conteneur qui regroupe des cas de test liés entre eux. Suivez les étapes ci-dessous pour en créer une.

Étape 1) Cliquez avec le bouton droit sur la racine du projet.

Dans le projet, créez une suite de tests en cliquant avec le bouton droit sur la racine du projet.

Créer une suite de tests dans SoapUI - Projet Clic droit

Étape 2) Saisissez les détails de la suite de tests.

Saisissez le nom de la suite de tests et cliquez OK.

Saisissez le nom de la suite de tests

Étape 3) Vérifier la suite de tests créée.

La nouvelle suite de tests apparaît dans le volet de navigation comme indiqué ci-dessous.

Vérifier la suite de tests créée

Étape 4) Ouvrez la suite de tests.

La fenêtre « Suite de tests » s’ouvre dans le volet de droite. Comme aucun cas de test n’existe encore, toutes les options d’action restent désactivées.

Ouvrir une fenêtre de suite de tests vide

Comment créer un cas de test dans SoapUI

Les cas de test sont inclus dans une suite de tests et regroupent les étapes de test individuelles qui sollicitent un service web.

Étape 1 : Dans une suite de tests, créez plusieurs tests en cliquant avec le bouton droit sur la suite de tests et en choisissant Nouveau cas de test.

Créer un nouveau cas de test dans SoapUI

Étape 2 : Précisez le nom du Cas de test et cliquez sur OK.

Saisissez le nom du cas de test

Étape 3 : Le cas de test créé ne comporte initialement aucune étape, comme indiqué ci-dessous.

Cas de test sans étapes

À noter: Le cas de test est initialement initialisé à zéro étape pour chaque type de test. Au fur et à mesure que des étapes sont ajoutées, les nombres entre parenthèses se mettent à jour automatiquement.

Les étapes des tests fonctionnels appartiennent à Étapes de test, les étapes de performance sont intégrées Test de chargementet les contrôles de sécurité sont effectués sous Tests de sécurité.

Étape 4 : Insérez différents types d'étapes de test en cliquant avec le bouton droit. Étapes de test et en sélectionnant l'option appropriée. Pour un service Web REST, sélectionnez la requête de test REST plutôt qu'une requête SOAP.

Insérer les types d'étapes de test

Ajout d'une étape de test dans SoapUI

Ajoutez une étape de test pour valider la requête SOAP importée dans le cas de test.

Étape 1 : Ajouter une nouvelle étape de type Demande de savon comme indiqué ci-dessous.

Ajouter une étape de test de requête SOAP

Étape 2 : Saisissez le nom de l'étape et cliquez OK.

Saisissez le nom de l'étape de test

Étape 3 : Une boîte de dialogue s'affiche pour sélectionner l'opération à exécuter. Toutes les opérations disponibles sont listées.

  • De nombreuses opérations apparaissent ici. Elles sont identiques, à l'exception de la version SOAP : CalculatorSoap utilise la version 1.1, tandis que CalculatorSoap12 utilise la version 1.2.
  • La version n'a pas d'importance dans ce cas précis, donc l'une ou l'autre peut être choisie.

    Sélectionner SAVON Operation à invoquer

  • Après avoir sélectionné l'opération, cliquez OK.

    Confirmer Operasélection de tion

Étape 4 : Lors de l'ajout d'un cas de test, des assertions standard peuvent être appliquées. Les assertions, également appelées points de contrôle ou points de validation, sont abordées dans le tutoriel suivant.

Les points de contrôle suivants peuvent être ajoutés lors de la création d'un cas de test. L'exemple ci-dessous crée un cas de test sans aucun point de validation activé.

Standard SoapUI Affirmations

  1. Vérifie si le message de réponse est au format SOAP après l'exécution du test.
  2. Vérifie si le schéma de réponse est valide.
  3. Vérifie si la réponse SOAP contient un élément FAULT.

Étape 5 : Lors de la création du cas de test, le code XML de la requête apparaît comme indiqué ci-dessous. La structure du code XML est expliquée dans la capture d'écran.

Structure XML de la requête

Étape 6 : Le compteur d'étapes de test est désormais incrémenté de un, une étape ayant été ajoutée. L'ajout d'étapes de test de charge et de sécurité incrémentera automatiquement leurs compteurs respectifs.

Incrémentation du compteur d'étapes de test

Envoi manuel d'une requête et lecture de la réponse dans SoapUI

Étape 1 : L'exemple ci-dessous additionne deux nombres entiers.

  • intA — 5
  • intB — 5

Next:

  1. Saisissez ces valeurs à la place des points d'interrogation dans le XML de la requête.
  2. Après avoir mis à jour les balises XML correspondantes, cliquez Envoyer la demande pour vérifier la réponse.

Envoi manuel de la requête avec intA et intB

Étape 2 : Une fois la requête soumise, le service web est traité par le serveur web et la réponse est renvoyée, comme indiqué ci-dessous.

La réponse confirme que 5 plus 5 égale 10.

Réponse SOAP affichant le résultat de l'addition

Comprendre la réponse SOAP et les panneaux de journalisation

Comme indiqué précédemment, les messages SOAP sont transportés via HTTP. L'examen des messages bruts permet de comprendre comment la requête et la réponse SOAP sont acheminées via HTTP.

Étape 1 : Cliquez sur RAW onglet dans l' SoapUI fenêtre de demande.

  1. La requête est envoyée au serveur web, la méthode HTTP POST est donc utilisée.
  2. La requête SOAP est véhiculée dans le corps du message HTTP.

Onglet SOAP Request RAW

Étape 2 : Maintenant, cliquez sur le RAW onglet dans l' SoapUI fenêtre de réponse pour comprendre comment la réponse est transmise via HTTP.

  1. Une fois la requête traitée, le code de réponse HTTP (200) est affiché, indiquant le succès.
  2. La réponse SOAP est renvoyée au client dans le corps du message HTTP.

Réponse SOAP RAW Onglet avec HTTP 200

Le tableau ci-dessous récapitule les codes de réponse HTTP courants pour un débogage rapide.

HTTP Code Description
1xx Informatif: Demande reçue, traitement en cours.
2xx Succès: Action reçue, comprise et acceptée avec succès.
3xx Redirection : Des démarches supplémentaires sont nécessaires pour finaliser la demande.
4xx Erreur client : La requête contient une syntaxe incorrecte ou ne peut être satisfaite.
5xx Erreur serveur : Le serveur n'a pas pu traiter une requête apparemment valide.

Étape 3 : La fenêtre « Cas de test » affiche également des métadonnées supplémentaires pour la requête et la réponse.

Métadonnées de la fenêtre de cas de test

  1. Indique l'absence d'en-tête dans la requête envoyée.
  2. Indique qu'aucune pièce jointe n'est incluse dans la requête envoyée au serveur web.
  3. Indique 10 éléments d'en-tête dans la réponse, visibles en cliquant dessus.
  4. Indique l'absence de pièces jointes dans le message de réponse.

Panneau des journaux

Le volet Journaux affiche l'intégralité des informations échangées entre le client et le serveur. Les onglets de journalisation les plus fréquemment utilisés sont décrits ci-dessous.

SoapUI Onglets du volet des journaux

SoapUI Connectez-vous: Affiche les informations de réponse du serveur web. Ces mêmes données sont enregistrées dans le fichier soapui.log situé dans le répertoire. SoapUI Répertoire bin.

SoapUI Onglet Journal

Journal HTTP : Affiche tous les transferts de paquets HTTP. Toutes les informations visibles dans la vue RAW sont également enregistrées dans le journal HTTP.

Onglet Journal HTTP

Journal des erreurs : Affiche toutes les erreurs rencontrées durant la session du projet. Ces mêmes informations sont enregistrées dans le fichier soapui-errors.log. SoapUI Répertoire bin.

Journal de bord : Il surveille la consommation de mémoire et l'affiche sous forme de graphique. Ceci est utile lors de l'exécution d'opérations gourmandes en mémoire.

Onglet Journal de la mémoire

Une fois la suite de tests, le cas de test et l'étape de test en place et la réponse positive reçue, l'étape suivante consiste à valider cette réponse. Les types d'assertions seront abordés dans le prochain tutoriel.

FAQ

Une suite de tests est un conteneur qui regroupe des cas de test liés au sein d'un SoapUI Projet. Un cas de test est un scénario unique contenant une ou plusieurs étapes de test telles que des requêtes SOAP, des requêtes REST ou des assertions.

Oui. SoapUI Prend en charge les tests SOAP et REST. Lors de la création d'un projet, choisissez « Nouveau projet SOAP » pour les services WSDL ou « Nouveau projet REST » pour les API REST. Les étapes de test incluent une requête de test REST, une requête JDBC, etc. Groovy Scénario.

Ouvrez la suite de tests et cliquez sur le bouton de lecture vert. SoapUI Exécute tous les cas de test dans l'ordre d'apparition. Vous pouvez également configurer une exécution parallèle ou séquentielle dans l'onglet Propriétés de la suite de tests.

Oui. Utilisez l'étape Propriétés, l'étape Transfert de propriétés ou une étape Source de données (SoapUI Pro) permet de tester plusieurs entrées dans un même cas de test. Ceci est utile pour les tests basés sur les données, couvrant de nombreuses combinaisons d'entrées.

Les assistants IA peuvent lire une spécification WSDL ou OpenAPI et suggérer des combinaisons d'entrées réalistes, des cas limites et des modèles d'assertion. Ces suggestions peuvent être exportées sous forme de SoapUI XML ou Groovy des scripts, réduisant ainsi l'effort manuel lors de la création de grandes suites de tests.

Oui. Les outils d'IA peuvent analyser SoapUI Les entrées des journaux système et HTTP permettent de regrouper les erreurs récurrentes et de mettre en évidence leurs causes probables, telles que les incompatibilités de schéma ou les échecs d'authentification. Ceci accélère le diagnostic lors des cycles de tests de régression et des exécutions nocturnes à grande échelle.

Résumez cet article avec :