qtp tutorial 23 qtp smart object identification
Dans ce didacticiel QTP, nous allons apprendre - l'identification des objets intelligents, l'ajout d'un point de synchronisation, l'exécution d'un test et l'affichage des résultats, et le lanceur de test silencieux.
=> Cliquez ici pour la série de didacticiels de formation QTP
Supposons une situation dans laquelle aucun objet ne correspond ou que plusieurs objets correspondent à la description enregistrée d'un objet pendant l'exécution, comment QTP le gère-t-il?
Ce que vous apprendrez:
- Identification intelligente
- Point de synchronisation
- Exécution d'un test
- Résultats de test
- Transactions
- Runner de test silencieux
- lecture recommandée
Identification intelligente
QTP a un mécanisme en place pour des cas exactement comme celui-ci. Si la description enregistrée ne permet pas à QTP d'identifier l'objet spécifié dans une étape et qu'une définition d'identification intelligente est définie (et activée) pour l'objet, QTP essaie d'identifier l'objet en utilisant «Identification intelligente».
Voyons comment cela fonctionne avec quelques exemples. Pour chaque objet, il existe des propriétés principales et des propriétés secondaires.
Exemple 1: L'objet avec la description enregistrée est introuvable.
Sur une page, il y avait un bouton et les propriétés suivantes sont:
- Primaire: Nom
- Secondaire: Abs x, y
Lors de l'enregistrement, la propriété «Nom» était «ID de connexion». En raison de certaines modifications apportées à l'application, la propriété «Nom» est désormais remplacée par «ID utilisateur». Dans ce cas, QTP trouvera un bouton avec une description différente et il devrait échouer s'il ne considère que les propriétés primaires.
Mais dans des cas comme celui-ci, lorsque les propriétés principales ne correspondent pas, il vérifie les propriétés secondaires et si elles correspondent, il reconnaît l'objet. Dans ce cas, il va reconnaître le bouton par ses coordonnées X et Y.
Exemple 2: QTP était censé trouver une page X et il y a 2 pages avec des paramètres de navigateur similaires.
Dans ce cas également, il essaie d'utiliser le «nom» ou d'autres propriétés pour trouver la ou les bonnes pages et fonctionne en conséquence.
Les 2 ci-dessus sont des exemples de cas où QTP engage le mécanisme d'identification intelligente.
- Les résultats du test indiqueront également si une étape a utilisé l'identification intelligente pour s'exécuter avec succès.
- Si QTP ne trouve pas l'objet malgré l'identification intelligente, le test échoue.
Pour la plupart des objets, QTP fournit des propriétés de filtre de base par défaut (primaire) et des propriétés de filtre facultatives (secondaire) qu'il vérifie si nous activons l'identification intelligente pour eux. L'utilisateur a également la possibilité de modifier les propriétés à prendre en compte. Pour ce faire, allez à ' Outils-> Identification d'objets ' .
Choisissez l'environnement approprié dans la liste déroulante et choisissez la classe d'objets. Une fois que vous l'avez choisi, cochez la case «Activer l'identification intelligente» et cliquez sur «Configurer».
Cliquez sur Ajouter ou supprimer
Sélectionnez les propriétés selon vos besoins:
quels sont les différents types de tests
Faites votre sélection et cliquez sur OK lorsque vous avez terminé.
Le processus ci-dessus garantira que la prochaine fois qu'il aura des difficultés à identifier un objet de cette classe, il utilisera une identification intelligente pour le faire.
De plus, pour la plupart des objets, «Identification intelligente» est activée par défaut. Vous pouvez voir où cela est le cas pour un certain objet en y accédant dans OU sous la partie «Détails supplémentaires» de ses propriétés d'objet.
Il est défini sur «Vrai» s'il est activé et «Faux» s'il est désactivé.
Vous pouvez également choisir d'activer ou de désactiver entièrement l'identification intelligente pour un test. Choisir ' Fichier-> Paramètres-> Exécuter-> Désactiver l'identification intelligente pendant la session d'exécution ' option.
Point de synchronisation
Considérez ce programme,
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Email').Set 'swatiseela' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Passwd').SetSecure 'sfgs686898' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click
Dans un monde idéal, dès que vous cliquez sur le bouton 'Se connecter' dans la page de connexion Gmail, la 'Boîte de réception' devrait s'afficher sans délai. Cela signifie que l'état de l'application est prêt pour que la dernière instruction de notre exemple soit exécutée immédiatement après l'exécution de la dernière instruction.
Mais en temps réel, pour de nombreuses raisons, les applications ne se chargent pas toujours au même rythme. Si nous n'instruisons pas QTP d'attendre un certain temps avant de continuer. Plus précisément jusqu'à ce qu'un objet atteigne un certain état.
Un point de synchronisation est utilisé pour indiquer à QTP d'attendre qu'une propriété d'objet particulière atteigne la valeur que vous spécifiez.
Lors de l'insertion d'un point de synchronisation, une instruction «Wait Property» est insérée dans le test.
Browser('Gmail: Email from Google').Page('Gmail - Inbox'). Link('Sign out').WaitProperty “Visibile”,true,20
Votre nouveau programme ressemblera donc à ceci: (ligne n ° 6 ci-dessous)
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Email').Set 'swatiseela' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Passwd').SetSecure 'sfgs686898' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox'). Link('Sign out').WaitProperty “Visible”,true,1000 Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click
Il peut être inséré pendant l'enregistrement en utilisant l'option de menu ' Insérer-> Point de synchronisation ' . Choisissez l'objet pour insérer le point de synchronisation.
Saisissez la valeur requise:
Voici la déclaration qui est insérée:
Browser('Gmail - Inbox').Page('Gmail - Inbox').Link('Sign out').WaitProperty 'visible', true, 10000
Exécution d'un test
#1) Automation-> Run ou F5 exécute généralement tout le test.
#deux) Vous pouvez exécuter une partie du test en choisissant 'Automatisation-> Exécuter l'action actuelle' option
# 3) Vous pouvez exécuter un test à partir d'un certain point de votre test en choisissant le ' Automatisation-> Exécuter à partir de l'étape ' option.
# 4) Dès que vous choisissez l'une des méthodes ci-dessus pour exécuter un test, vous serez invité à choisir l'emplacement où vous souhaitez stocker les résultats du test. Vous pouvez choisir le dossier en choisissant la première option, auquel cas les résultats seront stockés pour chaque instance du test.
Mais si vous choisissez l'option suivante, un dossier temporaire, les résultats sont écrasés et seul le dernier résultat du test sera stocké dans le dossier choisi. En termes de mémoire, il est conseillé d'utiliser la deuxième option lors du test de votre test QTP. À moins que vous ne souhaitiez obtenir les résultats de chaque test, ne choisissez pas la première option car, de toute évidence, elle occupera beaucoup d'espace.
# 5) Paramètres d'entrée: si les paramètres d'entrée du test ont été définis pour ce test, cet onglet est l'endroit où vous les fournissez.
# 6) Vous pouvez également exécuter plusieurs tests en même temps dans un lot. QTP dispose d'un outil «Batch Runner». C'est aussi un outil externe, tout comme un «outil de codage de mot de passe» dont nous avons parlé précédemment.
# 7) Pour lancer, accédez à ' Programmes> QuickTest Professional> Outils> Test Batch Runner ». Créez un lot (.mtb) en utilisant
# 8) Une fois la création d'une liste terminée, exécutez le lot en utilisant icône. Une fois l'exécution par lots terminée, vous pouvez afficher les résultats de chaque test dans son dossier de résultats de test par défaut ( res # report ).
Résultats de test
Dans nos articles jusqu'à présent, si nous discutons itération de la table de données , points de contrôle , l'identification intelligente ou en général l'étape de test exécutée, les résultats du test sont l'endroit où vous obtenez pour voir si quelque chose a réussi ou non.
En dehors de ce qui précède, les résultats du test peuvent contenir la capture d'écran de votre AUT en cas de panne. Cela dépend des paramètres de ' Fichier-> Paramètres-> Exécuter ».
Le testeur peut imprimer et exporter les résultats des tests.
meilleur logiciel de pare-feu pour windows 10
Pour rendre les résultats des tests plus compréhensibles, l'utilisateur peut écrire ses commentaires dans les résultats des tests.
Par exemple, si une certaine condition échoue dans votre test, vous voudrez peut-être écrire dans les résultats du test que «n'a pas fonctionné pour la valeur X». Vous pouvez le faire en utilisant l'instruction «reporter.reportevent». Voici la syntaxe:
Reporter.Reportevent (état de l'événement, nom de l'étape du rapporteur, détails)
Statut de l'événement: MicPass, MicFail, MicWarning, MicDetail, les deux paramètres suivants peuvent être n'importe quel texte permettant d'inclure plus de détails.
Si c'est ma déclaration et que je l'exécute:
reporter.ReportEvent micPass, 'Swati’s First Step', 'Passed parce que je lui ai dit de passer…'
Les résultats du test vont ressembler à ceci: (cliquez pour agrandir l'image)
Transactions
Comme ce n'est pas une fonctionnalité très largement utilisée, je vais faire une introduction de haut niveau ici.
En règle générale, un test est divisé en transactions lorsque vous devez mesurer le temps qu'il faut pour exécuter une certaine section de celui-ci.
Il est également utilisé lorsqu'un test QTP doit être utilisé par Load Runner ou Business Process Monitor. Dans l'un ou l'autre de ces cas, votre test doit être enregistré en termes de transaction et tout ce qui se trouve en dehors de celui-ci sera ignoré.
Vous pouvez démarrer une transaction depuis QTP en utilisant ' Insérer-> Démarrer la transaction ' . Donnez-lui un nom, choisissez si vous le souhaitez avant ou après l'étape en cours et choisissez OK.
Services.StartTransaction «TransactionTest» - Obtient inséré. Je vais maintenant enregistrer une connexion sur Gmail.com.
Une fois que vous avez terminé l'enregistrement. Choisir ' Insérer-> Terminer la transaction ' . Cliquez sur OK.
Services.EndTransaction «TransactionTest» - est inséré.
meilleurs compilateurs pour c ++
Voici le code:
Maintenant, je vais exécuter ce test. Voyons à quoi ressemblent les résultats des tests. Les résultats afficheront un résumé en termes de temps nécessaire pour terminer la transaction.
Runner de test silencieux
Un autre outil fourni par QTP est le lanceur de test silencieux. Cela permet au testeur d'exécuter son test sans avoir à lancer QTP. Il permet également de simuler des exécutions QTP à partir de load runner et de vérifier sa compatibilité avec le même.
Cela ne fonctionnera pas si QTP est déjà ouvert et qu'un autre test est en cours d'exécution via celui-ci.
Utilisation Début > Programmes > Professionnel QuickTest > Outils > Runner de test silencieux commande de menu pour l'invoquer. Sélectionnez le test et cliquez sur 'Exécuter le test'
Voici à quoi cela ressemble lors de l'exécution du test:
Une fois terminé:
Journal de test:
Le «Résumé des transactions» sera activé si le test contient au moins une transaction.
Nous avons maintenant atteint la fin de ce didacticiel et avons couvert pas mal de sujets divers sur QTP ici. J'espère que cela vous sera utile à tous.
N'hésitez pas à poster vos commentaires et questions.
=> Visitez ici pour la série de didacticiels de formation QTP
lecture recommandée
- Référentiel d'objets dans QTP - Tutoriel # 22
- Tutoriel QTP # 7 - Paradigme d'identification des objets de QTP - Comment QTP identifie-t-il les objets de manière unique?
- Tutoriel QTP # 8 - En savoir plus sur les modes d'enregistrement QTP, l'espion d'objets et les référentiels d'objets
- Paramétrage dans QTP (partie 2) - Tutoriel QTP # 20
- Tutoriel QTP # 18 - Explication des cadres basés sur les données et hybrides avec des exemples QTP
- Paramétrage dans QTP expliqué avec des exemples (partie 1) - Tutoriel QTP # 19
- Didacticiels QTP - Plus de 25 didacticiels de formation Micro Focus Quick Test Professional (QTP)
- Tutoriel QTP # 6 - Comprendre les paramètres d'enregistrement et d'exécution QTP pour notre premier test