Web Services (SOAP & REST)

21 janvier 2019

Dans vos tests fonctionnels de bout en bout vous pouvez gérer les flux Web Services directement dans vos scripts de test automatique Agilitest.

L’objectif est que vous puissiez contrôler les données échangées voire les récupérer pour les réutiliser à des fins fonctionnelles dans vos tests automatiques.

Ecriture de l’appel de Web Service dans Agilitest

Pour cela, il vous suffit de renseigner l’action « Démarrer le canal » avec le lien http complet de votre requête Web Service :

Exemple ici : http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL

Démarrage d’un canal Webservice comme un canal Web

L’exécution de cette action « Démarrer le canal » ouvrira automatiquement un viewer spécifique qui vous permettra de capturer toutes les données que vous souhaitez vérifier et/ou récupérer dans ce flux Web Service.

Agilitest détectera automatiquement s’il s’agit de SOAP ou de REST (dans lequel seront également inclus tous les autres types de services qui ne sont pas du SOAP).

Cette fenêtre de capture vous communiquera toutes les actions disponibles dans le Web Service soumis :

WSDL : obtention de la liste des services disponibles

Ecriture de la méthode adressée à ce Web Service dans Agilitest

La seconde action spécifique Web Service se trouve sur le bouton « Navigation Web » –> API Webservice :

Appel d’une fonction Webservice
Fonction GET

L’action est par défaut sur le type REST (toutes les méthodes HTTP du standard sont disponibles :  Get, Post, Delete, Patch, et Put)

Vous pouvez enrichir la requête soit par la méthode (URL), soit par les paramètres de l’API, soit par les entêtes, voire par les trois combinés.

Sélection de la « method »
Et possibilité d’ajouter des headers

Vous pouvez manuellement permuter sur le type SOAP via le bouton dédié.

Pour tous les Web Services vous pouvez selon vos besoins :

  • Envoyer les requêtes directement via la méthode (i.e. le lien html dans lequel vous aurez renseigné les informations souhaitées).
  • Utiliser l’encadré « Données de l’API » pour compléter, complexifier ou encore clarifier la requête.
Exemple de requête SOAP avec des données
  • Utiliser l’encadré « Entête de la requête » pour gérer si besoin les entêtes.
Et un header…

Il y a deux paramètres additionnels :

  • Changer de port : vous permet d’indiquer sur quel port vous souhaitez interroger le webservice.
  • Utiliser le cache : quand c’est possible, Agilitest ne fera pas de nouvelle requête si les données demandées sont déja dans le cache.

Si vous ne connaissez pas le corps des actions disponibles : plugin Wizdler

Si vous ne connaissez pas le corps du Web Service, voici une méthode simple pour y remédier afin d’analyser les fichiers WSDL et générer les messages SOAP pour vous :

  1. Installez le plugin WIZDLER sur votre navigateur web (Chrome par exemple : Lien du Plugin Wizdler ici)
  2. Ouvrez votre lien http Web Service sur ce même navigateur
  3. Cliquez sur le bouton Wizdler dédié :
  4. Cliquez sur une des actions disponibles sur ce Web Service (ex: CapitalCity) afin d’en récupérer le corps et le coller dans l’encadré « Paramètres de l’API« .
  5. Ne pas oublier de renseigner l’action liée dans « la méthode » de l’action Agilitest
  6. Vous pouvez même tester l’action en remplaçant la donnée par défaut [string] puis en cliquant sur le bouton « Go » dédié et vérifier le résultat renvoyé par le Web Service

Capture des données renvoyées par le Web Service

Maintenant que « la méthode » et l’encadré « Paramètres de l’API » de votre action sont renseignés, Agilitest pourra exécuter automatiquement l’action dans votre flux fonctionnel.

Vous pouvez capturer le résultat de la requête via le mode de capture d’Agilitest.

Capture du résultat de la requête
Sélection des attributs qui identifient l’élément

L’action « Propriété » vous permet de réutiliser la donnée cible renvoyée par le Web Service dans votre script :

Et nous récupérons la valeur dans une variable…
en indiquant quel attribut de l’élément nous intéresse

La récupération de l’attribut « value » dans ce cas nous permet de récupérer la Capital du Pays dont le code ISO est FR, à savoir Paris.

L’action s’est bien déroulée

Remarque :

Les actions de vérification et de récupération de propriétés seront très souvent les actions les plus pertinentes dans l’écriture de vos tests fonctionnels de bout en bout utilisant des Web Services.

Exemple de script SOAP

Veuillez trouver ici un exemple de script ats SOAP : SOAP_flag_demo.ats
Cliquez droit sur le lien ci-dessus et sélectionnez « Enregistrer le lien sous… » pour récupérer le fichier ATS.

Vous pouvez l’ajouter à votre projet Agilitest pour l’éditer et/ou l’exécuter.

Autres articles de la catégorie