Web services
Dans vos tests fonctionnels de bout en bout, vous pouvez gérer les workflows d'web service directement au sein de vos scripts de test automatisés Agilitest/ATS .
L'objectif est de vous permettre de contrôler les données échangées, voire de les récupérer afin de les réutiliser dans vos tests automatisés à des fins fonctionnelles.
Le fonctionnement des services Web dans Agilitest est conçu pour être aussi transparent que possible par rapport aux tests d'interfaces utilisateur graphiques (Web, bureau, mobile).
Ouvrir une API canal
Agilitest peut ouvrir cette page canal en parallèle d'une canal web ou mobile, ce qui est très utile pour vérifier via l'API qu'une action effectuée sur l'interface graphique a bien été enregistrée dans la base de données.
Pour tester une API, vous pouvez ouvrir une « API canal » dans Agilitest.
Dans l'interface Agilitest, ajoutez une action «Démarrer canal» et sélectionnez « Web Service ».

Le mode de capture est automatiquement activé pour ce résultat.
Vous n'avez pas besoin de programmer un analyseur JSON ou XML complexe : il vous suffit de cliquer directement sur les valeurs, les clés ou les balises dans la réponse affichée dans la fenêtre.
Le système de ciblage d'Agilitest (Locator) génère ensuite le chemin d'accès à ces données. Vous pouvez faire glisser et déposer cet élément depuis la fenêtre de capture directement dans votre éditeur de script pour créer une action.
Une fois l'canal e ouverte, vous utiliserez des mots-clés d'action spécifiques aux requêtes HTTP. ATS prend en charge nativement les principales méthodes des API REST (format JSON) et SOAP (format XML).
Remarque : vous pouvez configurer les points de terminaison par défaut dans le fichier de configuration .atsProjectProperties.
Utilisez l'action « Navigation » pour cibler le point de terminaison spécifique (SOAP ou REST).

Sélectionnez l'adresse (URL) de votre web service et configurez l'authentification HTTP si l'API l'exige.

S'il s'agit d'un service REST, vous pouvez spécifier la méthode HTTP (GET, POST, PUT, DELETE…), ajouter des en-têtes et définir le corps de votre requête

💡 Conseil
Si votre Web Service nécessite un certificat client sécurisé pour s'y connecter, Agilitest prend en charge les certificats au format .pfx. Il vous suffit de les placer dans le dossier assets/certs de votre projet ; l'éditeur et la fenêtre d'Web Service les utiliseront alors automatiquement.
Fenêtre « Agilitest Web Services »
Dans Agilitest, la fenêtre dédiée aux services Web (la visionneuse intégrée) vous permet de tester graphiquement les API (SOAP ou REST), exactement comme vous le feriez pour une interface utilisateur classique (Web ou bureau).
Ouvrez le fenêtre Agilitest Web Services à partir de l'explorateur de projet > Services Web

Vous pouvez créer une nouvelle « Web service » ou en ouvrir une existante.
Vous pouvez également accéder à la fenêtre « Agilitest Web Services » depuis la barre latérale de l'éditeur.

.
Sélectionnez l'action de navigation, puis choisissez le type de requête (GET, POST, PUT, PATCH, DELETE).

Vous pouvez définir les en-têtes (en-têtes HTTP) et le corps de la requête (Body ou Payload) en insérant des variables selon vos besoins.
Dans la section « Request », vous allez créer l'appel API que vous souhaitez effectuer :
- La méthode HTTP: un menu déroulant vous permet de sélectionner l'action à effectuer (GET, POST, PUT, DELETE, PATCH, etc.)

- Le point de terminaison (chemin d'accès): vous pouvez ajouter des éléments à l'URL.

Par exemple, si votre page canal est ouverte à l'adresse [https://api.site.com](https://api.site.com), vous pouvez ajouter /users/1 à cette adresse.
- En-têtes: très importants pour l'authentification ou pour préciser le type de données. Vous pouvez ajouter vos clés ici (par exemple, Authorization: Bearer xyz... ou Content-Type: application/json).

- The Body (Request Body): If you're using a POST or PUT request, a text field allows you to paste your payload (typically in JSON or XML). You can include Agilitest variables in it (e.g., {“name”: “$var(username)”}).

Une fois la configuration terminée, cliquez sur le bouton « Envoyer/Exécuter » dans cette fenêtre. Agilitest enverra la requête et affichera immédiatement la réponse.
Une fois la requête envoyée, la section « Réponse » est remplie avec :
- Le code d'état (par exemple, 200 OK, 404 Introuvable).
- Les en-têtes de réponse.
- Le corps de la réponse (au format JSON ou XML) est mis en forme et affiché sous la forme d'une arborescence interactive.
ATS interprète la structure arborescente JSON ou XML exactement comme le DOM (HTML) d'une page web.
Vérifier (propriété « check »): vous pouvez sélectionner graphiquement une clé JSON pour vérifier sa valeur.
Exemple :
Vérifiez que le champ « status » vaut 200 ou que le champ « name » correspond à l'utilisateur attendu.
Extraction (property-get): Vous pouvez extraire un élément de la réponse (tel qu'un jeton de connexion ou un identifiant généré) et le stocker dans une variable $var(myToken) afin de le réutiliser à l'étape suivante de votre workflow.
Plugin Wizdler
Si vous ne connaissez pas encore le corps « Web service », voici une astuce simple pour vous aider à analyser des fichiers WSDL et à générer des messages « SOAP » :
- Installez l'extension WIZDLER sur votre navigateur Web (Chrome, par exemple : lien vers l'extension Wizdler ici)
- Ouvrez le lien http:// Web service dans le même navigateur
- Cliquez sur le lien dédié à Wizdler

- Cliquez sur l'une des actions disponibles sur le site Web de ce service (par exemple, CapitalCity) pour récupérer le corps du message

Collez-le dans la section «Données API».

- Veillez à préciser l'action correspondante dans le champ « method » de l'action Agilitest

- Vous pouvez même tester cette action en remplaçant les données par défaut [chaîne de caractère], puis en cliquant sur le bouton « Go » et en vérifiant le résultat renvoyé par la fonction Web Service



