descriptive programming qtp
Dans ce tutoriel, vous apprendrez ce qu'est la programmation descriptive dans QTP , et Connexion à la base de données dans QTP c'est-à-dire comment se connecter à des sources de données externes comme la base de données et les feuilles MS Excel en utilisant QTP.
La programmation descriptive est un mécanisme de création de tests où vous utilisez la «description programmatique» des objets au lieu de les enregistrer.
=> Cliquez ici pour la série de didacticiels de formation QTP
Une note rapide sur cette série d'articles QTP avant de passer aux détails de ce tutoriel:
Ceci est le dernier didacticiel de notre série de formations QTP en ligne. J'espère que vous avez tous apprécié ces tutoriels et avez commencé à en tirer des leçons.
Donnez-nous vos commentaires:
Je suis à la recherche de vos commentaires non seulement pour cette série de tutoriels, mais aussi sur l'ensemble du site. S'il te plaît cliquez ici pour partager vos pensées à propos de ce site Web. Cela prendra à peine quelques minutes. Nous apprécions vos commentaires et suggestions. Dites-nous ce que nous pouvons faire pour améliorer votre expérience avec SoftwareTestingHelp.com
exemples de scripts shell unix pour les débutants
Ce que vous apprendrez:
Programmation descriptive dans QTP
La programmation descriptive est un mécanisme de création de tests où vous utilisez la «description programmatique» des objets au lieu de les enregistrer.
En utilisant cette technique, QTP peut être fait pour identifier les objets qui ne sont pas dans le référentiel.
Il existe 2 variantes de programmation descriptive:
- Programmation descriptive statique
- Programmation descriptive dynamique
Programmation descriptive statique
Une méthode statique consiste à essayer d'accéder à un objet en utilisant un ensemble de propriétés et de valeurs directement dans une instruction VB.
Syntaxe: TestObject ('Property name1: = property value', 'property name 2: = property value',… .n)
Voici comment vous l'utilisez:
meilleur convertisseur youtube en mp3 gratuit en ligne
Browser(“creationtime:=0”).Page(“title:=Google”).WebButton(“name:=Google Search”)
Programmation descriptive dynamique
Cela fonctionne en créant un objet de description. Regardez l'exemple suivant pour créer un objet webButton.
Set Testdesc=description.create Testdesc(“micClass”).value= “webButton”
- micClass fait référence aux classes prédéfinies dans QTP. Les valeurs que vous pouvez attribuer peuvent être webbutton, weblist, etc.
- Dans QTP 10, les valeurs micClass sont sensibles à la casse, mais à partir de QTP 11, elles ne le sont pas. Si vous écrivez le bouton Web dans QTP 10, cela échouera. Vous devrez écrire webButton. Mais le même bouton Web passera dans QTP 11.
Vous pouvez extraire tous les objets d'une certaine classe dans une page à l'aide de l'instruction suivante:
Set ObjectList=Browser(“creationtime:=0”).Page(“title:=*”).ChildObjects(Testdesc) Msgbox ObjectList.count
L'ensemble d'instructions ci-dessus extraira tous les boutons d'une page et les stockera dans l'objet ObjectList.
La polyvalence de l'utilisation de la programmation descriptive est que ces lignes de code fonctionneront sur n'importe quelle page ouverte. Vous pouvez ouvrir google.com dans votre navigateur et il comptera le nombre de boutons sur cette page. Cela fonctionnera exactement de la même manière si amazon.com ou tout autre site était ouvert.
C'est parce que nous avons le nom du titre de la page défini sur * qui est une expression régulière.
Vous pouvez donc voir comment nous pouvons écrire du code qui peut être utilisé à plusieurs reprises en ne codant pas en dur les valeurs de propriété et en création des objets lors de l'exécution .
Prenons notre exemple un peu plus loin. Supposons que j'essaie d'imprimer les noms de tous les boutons Web de la page l'un après l'autre.
S'il y a 4 boutons sur une page, vous pouvez accéder à chacun d'entre eux de la manière suivante:
Msgbox ObjectList (0) .GetRoProperty (“name”) - Ceci affichera le nom du premier bouton.
Msgbox ObjectList (1) .GetRoProperty («nom»)
Msgbox ObjectList (2) .GetRoProperty («nom»)
Msgbox ObjectList (3) .GetRoProperty ('nom')
Notez que:
- L'index des objets enfants commence à 0
- Étant donné que l'objet atteint ses propriétés au moment de l'exécution, nous utilisons la méthode GetRoProperty pour récupérer le même.
Nous pouvons modifier le code ci-dessus pour qu'il fonctionne pour n'importe quel nombre de boutons dans la page en utilisant une «boucle For» et en répétant les instructions dans le bloc «For» jusqu'à ce qu'il atteigne la fin du nombre d'objets.
For i=0 to ObjectList.count -1 to Step 1 Msgbox ObjectList (i).GetRoProperty(“name”) Next
Il est préférable d’utiliser une «boucle For» car dans ce cas, vous n’avez pas besoin de savoir combien d’objets se trouvent dans votre objet de description.
Quelques points à noter:
- Vous aurez besoin de la pratique pour maîtriser la programmation descriptive. Peu importe le nombre d'exemples que vous regardez et comprenez, vous aurez besoin d'une expérience pratique pour vraiment travailler avec.
- En tant que testeur, vous n'êtes pas censé savoir comment les objets sont codés dans votre AUT et à quelles valeurs ils sont définis. Utilisez donc ObjectSpy de temps en temps pour choisir les bonnes propriétés pour afficher les propriétés.
- Les résultats du test indiqueront que l'objet de test a été créé dynamiquement pendant la session d'exécution à l'aide d'une description de programmation ou des méthodes ChildObject.
Connexion à des sources de données externes couramment utilisées à partir de QTP
Pendant que vous préparez les tests, il y aura de nombreuses instances où vous devrez vous connecter à une base de données externe ou à d'autres sources de données. Une fois connecté, vous devrez également déplacer des données vers et depuis ces applications vers QTP et vice versa.
Bien qu'il n'entre pas dans le cadre de ces articles de fournir un guide complet pour travailler avec des interfaces externes, nous en examinerons quelques-unes qui sont les plus couramment utilisées.
Connexion à la base de données dans QTP
Pour nous connecter à une base de données, nous utilisons généralement un objet de connexion ADO. ADO est les objets de données ActiveX de Microsoft.
Voici les étapes à suivre:
#1) Créez un DSN. Veuillez vous référer au didacticiel de point de contrôle de la base de données pour voir comment cela est fait ou en créer un à partir du panneau de contrôle.
#deux) Créez un objet de connexion:
Définissez conn = CreateObject ('ADODB.connection')
# 3) Créez un objet de jeu d'enregistrements. L'objet recordset contient les résultats de la requête que nous allons exécuter.
Définir rs = CreateObject ('ADODB.RecordSet')
# 4) Ouvrez l'objet de connexion et exécutez la requête:
conn.Open 'DSN = testDB2; UID = swatiseela; pwd = testing @ 123'
rs.Ouvrez «Select * from abc», conn
# 5) Tous les résultats de la requête sont désormais accessibles à l'aide de l'objet «rs».
# 6) Par exemple, si vous souhaitez obtenir le nombre de lignes renvoyées, vous pouvez utiliser
rs.getrows
# 7) Par exemple, le tableau comporte 2 lignes et 3 colonnes (a, b, c), vous pouvez accéder aux valeurs comme suit:
Msgbox rs.fields (0) .a
Msgbox rs.fiels (0) .b
Msgbox rs.fields (0) .c
# 8) Vous pouvez utiliser une instruction de boucle s'il y a trop de valeurs à accéder.
# 9) Certaines des fonctions que l'objet jeu d'enregistrements peut utiliser sont: rs.move, rs.movenext, rs.getrows, rs.close, rs.open, etc.
Regardons tout le code en même temps:
Set conn=CreateObject(“ADODB.connection”) Set rs=CreateObject(“ADODB.RecordSet”) conn.Open “DSN=testDB2;UID=swatiseela;pwd=testing@123” rs.Open “Select * from abc”,conn msgbox rs.getrows Msgbox rs.fields(0).a Msgbox rs.fiels(0).b Msgbox rs.fields(0).c Msgbox rs.fields(1).a Msgbox rs.fiels(1).b Msgbox rs.fields(1).c rs.close conn.close
Connexion à des feuilles MS Excel
Nous savons tous que lorsque nous ouvrons une application Excel, le fichier entier est un classeur qui contient des feuilles avec des colonnes et des lignes où nous insérons les données.
Voici le code et les commentaires pour vous aider à comprendre comment cela est fait.
‘Create an excel application object Set excelobj = CreateObject(“Excel.Application”) ‘Set it to visible, otherwise it will be visible in the task manager but you will not be able to view it but it continues to work in the background excelobj.visible = true ‘Opens a workbook at the path speficified. If you need to open a new workbook, use excelobj.workbooks.Add excelobj.workbooks.Open(“C:UsersSwatiDesktopQTP est.xls”) ‘Sets the current sheet as i. the sheet number starts from 1 i=1 Set sheet1 = excelobj.activeworkbook.sheets(i) ‘write to a cell in sheet 1. The cell is row 8 column 4, D8. excelobj.activeworkbook.sheets(1).cells(8,4) = “Test QTP Write to cell” ‘To get the data from sheet2 cell ID C6 testretrurnval = excelobj.activeworkbook.sheets(3).cells(6,3) ‘save changes excelobj.activeworkbook.save ‘close the workbook excelobj.activeworkbook.close ‘Close Excel application excelobj.quit ‘Clear memory Set excelobj = nothing
Outre les fonctions ci-dessus, nous pouvons utiliser les fonctions suivantes en fonction de vos besoins.
- excelobj.activeworkbook.sheets.add - Pour ajouter une nouvelle feuille
- excelobj.activeworkbook.sheets (i) .delete - Pour supprimer une feuille avec l'index i
- excelobj.activeworkbook.sheeets (i) .name = 'Nom de votre choix' - Pour changer le nom d'une feuille avec l'index i.
- x = excelobj.activeworkbook.sheets.count - pour obtenir le nombre de feuilles dans un classeur
- excelobj. activeworkbook.saves «CompletePathWithNewName.xls» - pour enregistrer le classeur sous un nouveau nom
Cela termine non seulement cet article, mais aussi notre série de formations QTP. Dans le prochain article, nous aborderons des Questions d'entrevue QTP avec réponses . Veuillez nous faire part de vos commentaires et questions.
qu'est-ce que le test fonctionnel avec des exemples
=> Visitez ici pour la série de didacticiels de formation QTP
Restez à l'écoute pour des articles et des didacticiels plus utiles sur les tests de logiciels! Si vous n'êtes pas abonné à notre newsletter gratuite, veuillez le faire maintenant en cliquez ici .
lecture recommandée
- Didacticiels QTP - Plus de 25 didacticiels de formation Micro Focus Quick Test Professional (QTP)
- 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
- Tutoriel QTP # 6 - Comprendre les paramètres d'enregistrement et d'exécution QTP pour notre premier test
- Tutoriel QTP n ° 24 - Utilisation d'objets virtuels et de scénarios de récupération dans les tests QTP
- Tutoriel MongoDB Create Database
- Test de base de données avec JMeter