Tutoriel QTP #18 – Frameworks Data Driven et Hybrides Expliqués avec des exemples QTP

Nous travaillons à trouver comment dériver un Framework d’automatisation qui fonctionne le mieux pour un certain projet de test et définissons également certains frameworks qui existent déjà.

L’exemple que nous utilisions dans l’article précédent du framework QTP était la création d’un nouveau compte Gmail.

Pour commencer, nous avons codé le scénario de création d’un nouveau compte simplement en enregistrant et en lisant de manière linéaire. Voyant à quel point il manquait de modularité, de lisibilité et de réutilisabilité, nous l’avons décomposé en fonctions qui seraient référencées comme des mots-clés à l’avenir.

=> Cliquez Ici Pour La Série De Tutoriels De Formation QTP

 Frameworks Data Driven et Hybrides  Frameworks Data Driven et Hybrides

Nous avons atteint la modularité, la lisibilité et la réutilisabilité grâce à cette méthode, mais nous devions rendre le programme encore plus robuste afin qu’il puisse prendre différents ensembles de valeurs sans avoir à modifier le script lui-même.

C’est exactement ce que nous allons réaliser par les données conduisant aux tests.

Cadre d’automatisation piloté par les données Utilisant QTP

La création de plusieurs comptes d’utilisateurs Google est une tâche que nous allons essayer d’accomplir en utilisant ce cadre.

Dans l’exemple précédent, nous avons codé en dur le prénom, le nom, les détails de l’ID utilisateur, etc. dans notre code tout en essayant de créer un compte. Nous devrons séparer le code des données si nous devons réaliser l’aspect de conduite des données pour ce script.

Les données doivent provenir d’une source qui n’est pas le programme lui-même.

Généralement, l’entrée de données peut être n’importe quoi:

  • Fichiers MS Excel
  • Base de données
  • Fichiers texte
  • Fichiers XML….etc.

Les fichiers Excel sont ceux qui sont utilisés le plus souvent. Le fait même que chaque action dans QTP soit intégrée à une feuille de données qui lui est propre explique pourquoi il en est ainsi.

Vous pouvez utiliser une ou plusieurs sources de données pour un seul script. La feuille Excel fournie avec l’action peut être utilisée ou vous pouvez également utiliser une feuille Excel externe. Fondamentalement, une fiche technique peut être n’importe quel fichier externe pertinent.

Par Exemple,

Voici le code dont nous avons besoin pour conduire des données:

Browser("Gmail: Email from Google").Page("GoogleAccounts").WebEdit("FirstName").Set "swati"Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("LastName").Set "s"Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("GmailAddress").Set "test"

Toutes les données sont actuellement codées en dur. Voyons maintenant comment nous pouvons prendre ces valeurs de la fiche technique.

Accédez à la vue expert pour l’instruction dans QTP et cliquez sur la colonne valeur pour une étape.

La fenêtre suivante s’ouvre:

 Framework piloté par les données

Sélectionnez l’option paramètre, choisissez un nom pour le paramètre (ce sera le nom de la colonne dans la feuille de données), et choisissez si vous allez utiliser la feuille globale ou la feuille locale (la feuille globale est disponible pour toutes les actions d’un test, mais la feuille locale est spécifique à l’action en cours).

Pour le champ « Nom » à l’écran, QTP fournit une valeur par défaut. L’utilisateur a la possibilité de le conserver ou de le modifier.

 Cadre piloté par les données

En cliquant sur OK, une nouvelle colonne est créée dans le tableau de données.

 Cadre piloté par les données

Voici à quoi ressemble la feuille de données contenant 3 ensembles de prénom, nom et identifiant de compte:

 Framework piloté par les données

Une fois paramétré, le code se présente comme indiqué ci-dessous:

Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("FirstName").Set DataTable("G_First_Name", dtGlobalSheet)Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("LastName").Set DataTable("G_Last_Name", dtGlobalSheet)Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("GmailAddress").Set DataTable("gmail_address", dtGlobalSheet)

Si nous devons créer ces 3 ID utilisateur avec les données de la feuille, nous devons avoir 3 itérations. L’itération n’est rien d’autre qu’un test.

Une fois les données configurées, nous devrons indiquer à QTP combien de fois ce code doit s’exécuter ou combien d’itérations.

Voici comment nous le faisons: Allez dans Fichier – > Paramètres et exécutez

 Cadre piloté par les données

Dans l’écran ci-dessus, définissez les propriétés d’itération selon les besoins.

Alternativement, vous pouvez instruire QTP sur les itérations par programme. Comme toujours, cela permet plus de contrôle ainsi que de compétences en programmation. C’est donc vraiment au niveau de confort du testeur de choisir l’une ou l’autre de ces méthodes.

Les composantes du cadre axé sur les données sont:

  1. Script de test
  2. Fichiers de données
  3. Bibliothèque fonctionnelle partagée (si elle existe ou pourrait être un programme linéaire).
  4. Dépôt d’objets (Encore une fois, ce composant n’existera pas si la programmation descriptive a été utilisée pour créer des objets).

Les résultats du test afficheront un statut « Réussi » ou « Échoué » pour chaque essai.

En dehors de la table de données fournie par défaut, nous pouvons utiliser n’importe quel fichier Excel externe comme feuille de saisie.

Cadre hybride

Dans l’exemple ci-dessus, vous avez utilisé des mots clés (noms des fonctions que l’utilisateur a créées) et avez piloté le test par des données pour vous assurer que différents utilisateurs sont créés en même temps. Ce n’est rien d’autre qu’un cadre hybride.

La combinaison de deux ou plusieurs cadres dont nous avons discuté jusqu’à présent est un cadre hybride. D’après mon expérience, aucun cadre ne fonctionne efficacement pour un certain projet. Le cadre hybride est ce qui est le plus souvent utilisé.

Quelques points importants sur les cadres:

  • Le framework n’est qu’une solution qui fonctionne le mieux dans une certaine situation mais ne doit pas être interprétée comme un ensemble de règles à suivre définitivement. Cela devrait ressembler davantage à des lignes directrices.
  • Il peut y avoir beaucoup d’autres frameworks utilisés, nous n’avons répertorié et expliqué que les frameworks les plus courants.
  • Nomenclature – Différentes personnes adressent leurs cadres avec des noms différents. Donc, si les noms sont légèrement différents d’une application à l’autre, c’est normal.
  • La plupart des frameworks peuvent être utilisés conjointement les uns avec les autres lorsque l’un d’eux ne peut pas fournir une solution globale à vos objectifs de test.

Conclusion

Pour faciliter la compréhension, nous avons vraiment simplifié les concepts du cadre ici.

Si vous avez des problèmes liés au cadre auxquels vous êtes confrontés, mais que vous n’êtes pas couvert dans ces articles, faites-le nous savoir. Nous essaierons certainement de répondre à vos questions. N’hésitez pas à poster vos questions.

=> Visitez Ici La Série De Tutoriels De Formation QTP

Dernière Mise À Jour: 29 Novembre 2021

Leave a Reply

Votre adresse e-mail ne sera pas publiée.