En fonction des technologies, des compléments et des plates-formes, QTP choisit l'environnement sur lequel travailler.

QTP peut fonctionner sur les environnements ci-dessous -

Par défaut, les environnements pris en charge
la toile X actif Visual Basic
Autres environnements pris en charge
.Net (Windows et formulaire Web) Les gens doux Âge visuel
Java Oracle Delphes
Générateur de puissance Siebel Services Web
SAP pour le Web Raie Émulateur de terminal
WPF Fenêtres standard SAP pour Windows

QTP prend en charge 2 types de référentiel d'objets -

  • Référentiel d'objets partagés

  • Référentiel d'objets par action

Référentiel d'objets partagés: Il est également appelé référentiel d'objets global, le meilleur tout en utilisant un objet dynamique et un changement de description d'objet fréquemment dans un test, présenté par l'extension "" .tsr ". Les testeurs préfèrent généralement le référentiel d'objets partagés au référentiel d'objets local lors de l'automatisation du test.

Référentiel d'objets par action: Il s'agit d'un référentiel d'objets par défaut également appelé référentiel d'objets local présenté par l'extension ".mtr".

Dans QTP, le nom logique est un nom qui identifie de manière unique un objet par rapport aux autres objets de l'application lors de la création d'un objet dans le référentiel. QTP utilise ce nom d'objet pour mapper l'objet présenté dans le script avec sa description correspondante dans le référentiel d'objets en utilisant ce code -

Browser ("Browser"). Page ("Tutorialspoint"). Ici, Tutorialspoint est le nom logique de l'objet.

Habituellement, QTP exécute une action sur l'objet et ses propriétés qui ont été enregistrés dans le référentiel d'objets.

La programmation descriptive ne facilite pas aux utilisateurs de stocker l'objet et ses valeurs de propriété dans le référentiel d'objets, mais facilite aux utilisateurs de mentionner directement la paire de valeurs de propriété dans le script. La programmation descriptive n'a pas pour but d'éviter le référentiel d'objets, elle facilite aux utilisateurs la reconnaissance des objets dynamiques.

Dans la programmation descriptive, utilisez la propriété name, par exemple -

Navigateur ("name: =" xxx ""). Page ("name: =" xxxx "") ..... 

OU

Utilisez également la propriété "micClass", par exemple,

Navigateur ("micClass: = navigateur"). Page ("micClass: = page") ....

Oui! Vous pouvez enregistrer l'application placée dans un mechine distant via un navigateur local et non via une télécommande comme; citrix, mais si vous ne parvenez toujours pas à enregistrer, il est préférable d'installer QTP et l'application sur la même machine pour maintenir la même session.

Le mot-clé «CreateObject» crée et renvoie une référence à l'objet de test.

CreateObject (servername.typename [, location] )

Où,

servername - Un argument obligatoire pour le code, utilisé pour présenter le nom de l'application qui fournit objecst.

typename - Un argument obligatoire pour le code, utilisé pour présenter le type ou la classe de l'objet à créer.

location - Un argument optionnel pour le code, utilisé pour présenter le nom du serveur réseau sur lequel l'objet doit être créé.

 

For example - Définissez IE = CreateObject ("Chrome.Application")

Oui, il est possible d'appeler en créant l'action réutilisable vers le script de test correspondant et à partir du script de test de destination, effectuez des appels aux scripts de test d'actions réutilisables.

Dans QTP, la division d'action peut être utilisée pour diviser une action importante et existante en deux parties. L'action peut être divisée en parties en fonction de sa fonctionnalité, de sorte que; le code peut être amélioré et réutilisé à des fins différentes.

Tout d'abord, ouvrez QTP en sélectionnant le complément Java, puis effectuez l'opération d'enregistrement sur l'arborescence Java. Si vous n'obtenez pas l'environnement d'enregistrement approprié, dans l'outil QTP ouvert, accédez à Outils d'identification d'objets Java. Dans l'arborescence, les objets modifient les propriétés obligatoires et d'assistance pour faciliter l'identification.

Les tests multiplateformes et les tests multi-navigateurs peuvent être possibles en créant différentes actions en fonction de différents systèmes d'exploitation et navigateurs.

Test multiplateforme: la variable d'environnement intégrée aide à extraire les informations du système d'exploitation. Vous pouvez appeler l'action en fonction de la plate-forme sur laquelle l'action a été enregistrée.

Test de navigateur croisé: le code; Navigateur ("Valeurs fondamentales"). GetROProperty ("version") aide à extraire le navigateur et sa version correspondante, par exemple; IE 6, Mozilla Firefox 9 ou Netscape 5. Après avoir extrait le navigateur, vous pouvez appeler les actions pertinentes pour le navigateur en question.

Directement, vous pouvez vous connecter au QC à partir de la fenêtre UFT GUI. Pour ce faire -

  • Accédez au menu Fichier et choisissez Centre de qualité (QC) 

  • Ensuite, une fenêtre s'ouvrira pour entrer l'url de QC et d'autres détails - Dans cette fenêtre, entrez l'ID utilisateur, le mot de passe et le projet

Les étapes ci-dessus vous permettront de vous connecter au QC, plus tard, vous pourrez exécuter les tests à partir du QC lui-même.

Types de framework d'automatisation dans UFT -

  • Linear - En utilisant ce framework, vous pouvez créer le test très facilement, il vous suffit d'écrire un seul programme sans modularité en étapes séquentielles.

  • Keyword driven - Pour créer le test à l'aide de ce framework, vous devez générer des mots clés différents pour différents ensembles d'opérations et renvoyer ces mots clés au code scripté principal.

  • Data driven - Il est utilisé pour exécuter le même ensemble d'opérations sur plusieurs ensembles de données qui sont réservés dans des fichiers séparés, généralement des feuilles Excel.

  • Hybrid - Un cadre basé sur les données et les mots clés

  • BPT - Ici, les programmes sont décomposés en composants métier et les programmes sont utilisés avec l'un ou l'autre des types de frameworks ci-dessus.

Settoproperty signifie set test object property. À l'aide de cette propriété, vous pouvez modifier temporairement les valeurs de l'objet et sa valeur de propriété correspondante au moment de l'exécution.

La fonction Round en UFT est utilisée pour arrondir la valeur décimale

For example

Mydecimal = 8.2755555

Roundedvalue = Round(Mydecimal , 5)

Print roundedvalue ‘it will print 8.275

Oui! L'utilisateur peut passer du référentiel d'objets local au référentiel d'objets partagés en ouvrant la fenêtre QTP, en accédant aux ressources de paramètres de test (fournir une option pour choisir les référentiels).

Dans QTP, les propriétés de l'objet aident à identifier l'objet GUI. Pendant l'enregistrement, le référentiel d'objets des objets GUI stocke les propriétés qui ont été définies dans les paramètres d'identification d'objet et lors de l'exécution du test, QTP compare les propriétés qui ont été stockées dans le référentiel d'objets des objets GUI avec les propriétés à l'écran pour reconnaître de manière unique l'objet GUI.

L'exécution simultanée de plusieurs fichiers de test (ou séries de fichiers) est un test par lots. Pour exécuter les tests par lots, QTP fournit un outil «Batch Test Runner». Pour faire fonctionner plusieurs fichiers ensemble dans un outil, il vous suffit d'ajouter un script du test. Après avoir ajouté le script, vous n'avez rien à faire manuellement, l'outil commencera automatiquement à ouvrir et à exécuter le script de test l'un après l'autre.

Il existe de nombreux inconvénients de QTP -

  • Coûteux en termes de licence et de maintenance

  • Impossible d'exécuter plusieurs threads / instances

  • Le processus d'exécution est lent par rapport aux outils open source comme Selenium

  • La licence QTP ne peut être renouvelée que depuis HP uniquement

Il existe 3 types de mode d'enregistrement pris en charge par QTP -

  • Mode d'enregistrement normal (contextuel)

  • Mode d'enregistrement de bas niveau

  • Mode d'enregistrement analogique

Mode d'enregistrement normal: Un mode d'enregistrement par défaut qui a été utilisé dans la plupart des activités d'automatisation. En utilisant le modèle d'objet de test de QTP, il reconnaît les objets indépendamment de leur emplacement à l'écran.

Mode d'enregistrement de bas niveau: dans ce mode, le fonctionnement de la souris en coordonnées x, y aide à enregistrer les objets. Il est capable de tester des hashmaps et d'enregistrer des objets qui ne peuvent pas être identifiés par le mode d'enregistrement normal.

Mode d'enregistrement analogique: ce mode d'enregistrement enregistre l'écran / la fenêtre d'application sur la base des opérations de la souris et du clavier. Il enregistre les opérations, comme; dessiner une image, enregistrer une signature, effectuer des opérations de glisser-déposer.

La vue par mot-clé est une vue basée sur des icônes, affiche les étapes de test sous forme de tableau et crée automatiquement une documentation pour les étapes de test.

La vue Expert donne l'instruction VB Script correspondante pour chaque étape de test dans la vue Mot-clé.

Bien que QTP n'offre aucune prise en charge intégrée de la connectivité de la base de données, le langage VBScript et les objets ADODB contribuent à la connectivité de la base de données.

Il y a certaines choses qui doivent être connues avant la connectivité -

  • Chaîne de connexion de votre serveur (sera différente d'un serveur à l'autre et peut être construite à partir de www.connectionstrings.com )

  • Type de base de données

  • Nom du serveur

  • Nom de la base de données

  • Username

  • Password

Pour vous connecter à la base de données, soit; vous pouvez coder la commande de connectivité de base de données directement ou vous pouvez utiliser l'  outil SQLQuery fourni par QTP.

Pendant le test ou la programmation descriptive, Object Spy facilite l'identification et l'obtention des propriétés et méthodes d'objet d'exécution et de test de l'application. Il peut être accessible directement depuis la barre d'outils ou depuis le référentiel d'objets.

L'extension du fichier de code est script.mts.

Si une étape est déclarée facultative, QTP pense que l'exécution de l'étape n'est pas obligatoire. Si une étape facultative contient des objets GUI, QTP exécute cette étape. Si une étape facultative ne contient pas d'objets GUI, QTP évite l'étape facultative et passe à l'étape suivante.

Les types de cadres d'automatisation sont -

  • Scripting linéaire - Enregistrement et lecture

  • Framework d'architecture de bibliothèque de test

  • Cadre de test basé sur les données

  • Mot-clé (ou cadre de test basé sur une table)

  • Cadre hybride

Le point de contrôle de page dans QTP affiche le nombre de nombre de liens valides / non valides présents dans une page.

Cependant, QTP fournit quatre types de statut de résultat; Réussite, échec, terminé et attente, une méthode standard de QTP «Reporter.Reportevent» envoie des messages personnalisés à la fenêtre des résultats du test. «Reporter.Reportevent» peut également envoyer une capture d'écran de l'état des résultats dans la fenêtre des résultats du test.

Syntax

Reporter.ReportEvent EventStatus, ReportStepName, Details [, ImageFilePath]

Tandis que

EventStatus = 0 ou micPass, 1 ou micFail, 2 ou micDone, et 3 ou micWarning

ReportStepName = (String) Nom de l'étape prévue dans le rapport (nom de l'objet).

Details= (String) Description de l'événement de rapport. La chaîne sera affichée dans le cadre des détails de l'étape du rapport.

Le modèle d'objet d'automatisation QTP traite complètement le processus d'automatisation qui se déroule dans QTP. Habituellement, le modèle d'objet d'automatisation QTP représente toutes les configurations et fonctionnalités fournies par le test QTP. Presque toutes les boîtes de dialogue QTP contiennent leur objet d'automatisation correspondant qui peut être modifié ou récupéré par leurs propriétés ou méthodes correspondantes présentées dans le modèle d'objet d'automatisation. L'utilisateur peut utiliser des objets d'automatisation avec des éléments de programmation VB standard (boucles itératives ou instructions conditionnelles) pour concevoir un script souhaité.

Pendant l'exécution du test, les valeurs de sortie de texte capturent l'affichage du texte sur l'application. Dans le paramétrage, les valeurs de sortie de texte capturent les valeurs affichées à chaque itération, ces valeurs seront stockées dans la table de données d'exécution pour une aide supplémentaire.

Step Generator ajoute des étapes aux scripts de test en enregistrant n'importe quel processus.

Une action peut être appelée de deux manières -

Appel à COPIER d'une action: lors du découpage de l'action (actions réutilisables et non réutilisables), l'action copie également les points de contrôle, le paramétrage et l'onglet d'action correspondant dans la table de données du test appelant. Dans la table de données du test appelant, vous pouvez modifier l'action copiée pour que la modification n'affecte pas les autres tests.

Appel à une action EXISTANTE: Ici, vous ne pouvez appeler que les actions "Réutilisable". Dans le test d'appel, les appels à une action existante seront en mode lecture seule. Ils ne peuvent être modifiés que dans le test dans lequel ils ont été créés. Il est facilement gérable et peut être utilisé la même action dans plusieurs tests.

Le rapport Test Fusion présente toutes les fonctionnalités d'une application de test qui est utilisée lors de l'exécution du test. Test Fusion Report se présente comme un format tabulaire organisé. En outre, il donne des détails sur chaque étape des itérations, la table de données d'exécution et l'animation du test, si elle est sélectionnée.

La table de données d'exécution stocke des valeurs, comme; sortie paramétrée, valeurs de point de contrôle, valeurs de sortie, etc. Il se présente avec l'extension de fichier «xls» et se stocke dans le dossier des résultats de test. L'utilisateur peut également y accéder à partir du rapport Test Fusion.

Le point de contrôle est un point de vérification qui génère un état PASS ou FAIL en comparant une propriété spécifiée à la valeur actuelle et à la valeur attendue.

Une valeur de sortie est une valeur enregistrée lors de l'exécution d'un test et peut être stockée dans un emplacement particulier comme; soit dans une table de données, soit dans une variable. Contrairement aux points de contrôle, il ne compare pas deux valeurs pour générer l'état PASS / FAIL.

Dans QTP, les exceptions peuvent être gérées en utilisant des «scénarios de récupération» et des instructions «En cas d'erreur».

Pour gérer l'exception dans le scénario de récupération, vous devez définir trois choses -

  • Événements déclenchés

  • Étapes de récupération

  • Test de post-récupération

Pour gérer l'exception par des instructions «On Error» - Dans le script, vous devez utiliser les instructions «On Error Resume Next» et «On Error Go to 0».

Dans QTP, les actions sont écrites en langage de script VB qui ne renvoie aucune valeur. Les fonctions sont écrites en langage de script VB qui renvoie une valeur unique.

Chaque action contient son propre référentiel d'objets, table de données, écran actif, etc. alors que la fonction ne le fait pas.

La fonction peut être appelée en action, mais l'action ne peut pas être appelée en fonction.

Dans QTP, les fonctions sont enregistrées avec l'extension ".vbs" alors que les actions sont enregistrées avec l'extension ".mts".

L'action est interne à QTP alors que Function est juste des lignes de code avec certains / aucun paramètres et une seule valeur de retour.

Les actions sont parfois réutilisables mais parfois non, tandis que les fonctions sont toujours réutilisables.

Utilisez le mot clé DIM avant un nom de variable pour déclarer une variable et utilisez le mot clé SET avant un nom de variable pour attribuer une valeur à la variable

For Example

“Dim weight”, here DIM keyword is used to declare weight variable.

Set weight = 40, here SET keyword is used to assign value “40” to the weight variable.

GetRoProperty est une méthode standard de QTP qui récupère les valeurs de propriété d'un objet d'exécution.

Parfois, QTP est incapable de trouver un objet qui correspond à la description d'objet correspondante. Ou, parfois, QTP trouve que plusieurs objets correspondent à la description de l'objet. Ainsi, pour résoudre ce problème, QTP ignore les descriptions d'objets et se concentre sur le mécanisme d'identification intelligente pour identifier les objets.

Le mécanisme d'identification intelligente de QTP utilise deux types de propriétés pour identifier les objets: la propriété de filtre de base et la propriété de filtre facultative.

Propriété de filtre de base - Une propriété d'une classe d'objets de test spécifique dont les valeurs changent lorsque la signification réelle de l'objet d'origine change.

Propriétés de filtre facultatives - Cela aide également à identifier les objets d'une classe particulière dont les propriétés changent souvent, mais si elles ne sont plus applicables, vous pouvez l'ignorer.

Vous pouvez créer un fichier ZIP des scripts dans votre ordinateur source qui peut être importé dans l'ordinateur de destination de QTP en utilisant la fonction «Générer un script». Pour profiter de cette fonction, accédez à l'onglet Outils / Options des paramètres de test d'identification des objets.

Non! Nous ne pouvons pas ouvrir deux instances de QTP sur une seule machine pour travailler, mais QTP lui-même peut fonctionner sur plusieurs instances de l'application en cours de test (AUT) et gère simultanément plusieurs fenêtres de navigateur IE.

Syntaxe pour importer xls dans QTP -

DataTable.ImportSheet "..\..\TestData\Input.xls",1,dtGlobalSheet

Syntax to export xls into QTP,

DataTable.ExportSheet "..\..\Results\Output.xls","Global"

SetToProperty est une méthode standard de QTP qui modifie temporairement la propriété d'un objet stocké dans le référentiel d'objets.

Le délai de temporisation standard pour une application Web est de 60 secondes et peut être modifié par la boîte de dialogue Paramètres de test.

La syntaxe correcte pour écrire des données dans un fichier Excel en UFT est -

filepath = “C:\Bugs\Reports.xlsx”
Set objExcel = CreateObject(“Excel.Application”)
objExcel.Visible = True
Set Wb= objExcel.Workbooks.Open (filepath)
Wb.worksheets(1).Cells(1,1).Value = “TutorialPoints” read value from Excel file

TSR signifie Test Shared Repository, utilisé pour partager des référentiels d'objets.

Suivez les étapes ci-dessous pour générer le fichier TSR -

Tout d'abord, ouvrez le référentiel d'objets, puis accédez au menu Fichier. Ensuite, exportez l'option d'objets locaux et sélectionnez-la. UFT ouvrira la boîte de dialogue pour enregistrer le fichier .tsr; indiquez le chemin souhaité pour enregistrer le fichier.

Les étapes ci-dessus généreront le fichier .tsr dans UFT.

Il s'agit d'un outil intégré standard fourni par QTP pour convertir les actions en composants de processus métier.

UFT propose trois méthodes pour obtenir le nombre de lignes à partir de la table Web.

  • Utilisation de la propriété de l'objet Webtable - Rowcount

  • Utilisation de GetROProperty

  • Utilisation de HTML DOM + UFT

Il existe deux façons d'exporter une table de données vers Excel -

  • DataTable.Export ("C: \ export.xls")

  • DataTable.ExportSheet "C: \ mysheet.xls" (crée le nouveau fichier en l'absence de fichier Excel)

QTP prend en charge trois types de variables d'environnement -

  • Intégré (lecture seule)

  • Interne défini par l'utilisateur (lecture seule)

  • Externe défini par l'utilisateur (lecture / écriture)

La syntaxe ci-dessous utilisée pour récupérer la variable d'environnement

Environment.Value( "name") = "TutorialPoints"
                  OR
Environment.Value( "OS") = " TutorialPoints"

Tandis que

Environment.Value ("name") La syntaxe renverra le nom sous forme de TutorialPoints

Environment.Value ("OS") Cela renverra le système d'exploitation de votre système

Au point de contrôle Bitmap, l'utilisateur peut comparer deux bitmaps complets ainsi qu'une partie des bitmaps d'un pixel à l'autre.

Dans le point de contrôle Image, l'utilisateur ne peut vérifier que les valeurs de la propriété Image

Différence entre les fichiers qfl et vbs -

  • qfl est un fichier de bibliothèque de fonctions de test rapide alors que vbs est le fichier vbscript de Microsoft

  • qfl est un fichier non exécutable alors que vbs est un fichier exécutable

  • Pour utiliser le fichier qfl dans UFT, vous devez associer le fichier qfl à partir du paramètre de test, alors que le fichier vbs ne peut être associé qu'à l'instruction «exécuter le fichier».

La syntaxe correcte pour écrire des données dans un fichier texte en UFT est -

Content = “TutorialPointsTutorials”
Set Fo = createobject ("Scripting.FilesystemObject")
Set f = Fo.openTextFile ("c:\myFile.txt",8,true)     ' open in write mode

   f.Write (contents)
   f.Close
   Set f = nothing

L'extension d'une bibliothèque de fonctions est «.QFL».

QTP n'effectue pas d'itérations basées sur la feuille de données locale, il effectue des itérations basées sur la feuille de données globale, de sorte que; l'itération de test ne sera qu'une seule fois sur la fiche technique globale.

Le code ci-dessous aide à envoyer un e-mail depuis Outlook -

Set Outlook = CreateObject ("Outlook.Application")
Dim Message 'As Outlook.MailItem
Set Message = Outlook.CreateItem (olMailItem)

With Message
   .Subject = Subject
   .HTMLBody = TextBody
   .Recipients.Add (aTo)
   Const olOriginator = 0
   .Send
End With

Suivez le code ci-dessous pour obtenir des données de la base de données -

Set db = createobject (“ADODB.Connection”)
db.Open “Provider = Microsoft.Jet.OLEDB.4.0;Data Source=G:\guru99\vb6\admission_project.mdb;
Persist Security Info = False”

Set rst = createobject (“ADODB.Recordset”)
rst.Open “select*from Course”, db, 3
id = rst. RecordCount
For i = 0 to id-1
   Print rst.field (0) & rst.fields (1) & rst.fields (2) & rst.fields (3)
   rst.Movenext
Next

Chaque fois que le référentiel d'objets se développe, commence à donner des performances médiocres en raison de sa taille accrue et que l'UFT fait face à un problème d'identification des objets du référentiel d'objets, la programmation descriptive (également connue sous le nom de description programmatique) permet d'identifier les objets et d'effectuer des opérations sur des objets qui ne sont pas présents dans le référentiel d'objets. La programmation descriptive comprend le nom de la propriété et la valeur de la propriété. Il effectue l'opération des objets de l'application qui sont très dynamiques, et pour effectuer des opérations sur l'application au moment de l'exécution sans avoir la connaissance des propriétés uniques de l'objet.

Parfois, QTP ne reconnaît pas les objets d'une application qui ont été considérés comme des objets standard pour une application. QTP considère ces objets comme des objets virtuels et les mappe à des classes standard, ces objets peuvent être un bouton ou une case à cocher. Pendant l'exécution, QTP copie l'action de l'utilisateur sur l'objet virtuel et le résultat du test affiche l'objet virtuel en tant qu'objet de classe standard.