qtp tutorial 18 data driven
Nous travaillons à trouver comment dériver à un Framework d'automatisation qui fonctionne le mieux pour un certain projet de test et définit également certains cadres qui existent déjà.
L'exemple que nous utilisions dans le article précédent sur le cadre QTP créait 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 divisé en fonctions qui seraient référencées comme des mots-clés à l'avenir.
=> Cliquez ici pour la série de didacticiels de formation QTP
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 en pilotant les tests.
Ce que vous apprendrez:
- Framework d'automatisation pilotée par les données utilisant QTP
- Cadre hybride
- Conclusion
- lecture recommandée
Framework d'automatisation pilotée par les données utilisant QTP
La création de plusieurs comptes utilisateur Google est la tâche que nous essaierons 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 pilotage des données pour ce script.
Les données doivent provenir d'une source qui n'est pas le programme lui-même.
En règle générale, 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 le plus souvent utilisés. Le fait même que chaque action dans QTP soit intégrée avec une fiche technique qui lui est propre explique pourquoi il en est ainsi.
application d'espionnage de téléphone portable pour android
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 piloter les 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 extraire ces valeurs de la fiche technique.
Accédez à la vue experte de la déclaration dans QTP et cliquez sur la colonne de valeur pour une étape. La fenêtre suivante s'ouvre:
Sélectionnez l'option de 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» de l’écran, QTP fournit une valeur par défaut. L'utilisateur a la possibilité de le conserver ou de le modifier.
En cliquant sur OK, une nouvelle colonne est créée dans la table de données.
Voici à quoi ressemble la fiche technique qui contient 3 ensembles du prénom, du nom et de l'identifiant de compte:
Une fois paramétré, le code ressemble à:
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 identifiants utilisateurs avec les données dans les feuilles, nous devons avoir 3 itérations. L'itération n'est rien d'autre qu'un essai.
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 procédons: Allez à Fichier-> Paramètres et exécuter (clique sur l'image pour l'agrandir)
dans Scrum qui est responsable de ne pas répondre à des exigences complexes à temps
Dans l'écran ci-dessus, définissez les propriétés d'itération selon vos besoins.
Vous pouvez également indiquer à QTP les itérations par programme. Comme toujours, cela permet plus de contrôle et également plus de compétences en programmation. Il appartient donc au niveau de confort du testeur de choisir l'une ou l'autre de ces méthodes.
Les composants d'un framework basé sur les données sont:
- Script de test
- Fichiers de données
- Bibliothèque fonctionnelle partagée (si elle existe ou pourrait être un programme linéaire)
- Référentiel 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 état «Réussi» ou «Échec» pour chaque essai.
Outre la table de données fournie par défaut, nous pouvons utiliser n'importe quel fichier Excel externe comme feuille d'entrée.
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 effectué le test basé sur les 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 framework hybride est ce qui est le plus souvent utilisé.
Quelques points importants sur les frameworks:
- Le cadre est simplement une solution qui a fonctionné le mieux dans une certaine situation, mais ne doit pas être interprété comme un ensemble de règles à suivre définitivement. Cela devrait être davantage considéré comme des lignes directrices.
- Il peut y avoir de nombreux autres frameworks en cours d'utilisation, nous n'avons répertorié et expliqué que les plus courants
- Nomenclature - Différentes personnes abordent 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 en conjonction les uns avec les autres lorsque l'un d'entre eux ne peut pas fournir une solution complète à vos objectifs de test.
Conclusion
Par souci de facilité de compréhension, nous avons vraiment simplifié les concepts du cadre ici. Si vous rencontrez des problèmes liés au framework qui ne sont pas traités dans ces articles, faites-le nous savoir. Nous essaierons très certainement de répondre à vos questions. N'hésitez pas à poster vos questions.
=> Visitez ici pour la série de didacticiels de formation QTP
lecture recommandée
- Cadres QTP - Cadres d'automatisation des tests - Exemples de cadres linéaires et pilotés par mots-clés - Didacticiel QTP # 17
- Fonctionnement des tests pilotés par les données (exemples de QTP et de sélénium)
- Framework basé sur les données dans Selenium WebDriver à l'aide d'Apache POI
- Tests pilotés par les données ou paramétrés avec Spock Framework
- Comment effectuer des tests basés sur les données à l'aide de l'outil TestComplete
- Didacticiels QTP - Plus de 25 didacticiels de formation Micro Focus Quick Test Professional (QTP)
- Exploration de données: processus, techniques et problèmes majeurs dans l'analyse des données
- Paramétrage dans QTP expliqué avec des exemples (partie 1) - Tutoriel QTP # 19