Framework linéaire QTP – Référence complète avec Example-XX-XX

Dans l’article précédent, nous avons discuté de ce qu’est un framework d’automatisation de test et avons également fourni un bref aperçu des différents types de framework QTP que vous pouvez utiliser lors des scripts. À partir de cet article, nous couvrirons chacun des types de framework QTP en détail.
Dans cet article, nous aborderons les aspects suivants du cadre linéaire QTP –

  • a) Quel est le cadre linéaire de QTP.
  • b) Quels sont les composants qui constituent le cadre linéaire.
  • c) Comment écrire des scripts dans le cadre linéaire de QTP.
  • d) Avantages et inconvénients du cadre linéaire.

MISES À JOUR

1) Vous êtes libre de télécharger et de jouer avec le code utilisé pour ce framework. Le lien de téléchargement est disponible à la fin de l’article.

2) Juste comme ça, nous avons écrit plus d’articles sur divers autres frameworks QTP. Si vous souhaitez les consulter, veuillez visiter la page principale du framework QTP. Le bas de la page contient des liens vers d’autres frameworks QTP.

Discutons de chacun de ces points un par un.

Qu’est-ce que l’approche de cadre linéaire QTP?

Le cadre linéaire n’est rien d’autre qu’écrire toutes les étapes de votre action les unes après les autres sous une forme linéaire. Cette approche est également appelée script linéaire. Dans cette approche, l’ensemble de votre flux de cas de test sera écrit en QTP de manière linéaire.

Prenons un exemple où vous avez un scénario de test pour vous connecter à l’application, rechercher des données, puis vous déconnecter. Dans un cadre linéaire, le code ressemblerait à quelque chose montré ci-dessous.

'Code to Open Application'Code to enter user name in Login Page'Code to enter password'Click on Login button and verify successful Login'Search for the required data'Logout from the application'Close the application

Comme vous pouvez le voir dans l’exemple ci-dessus, vous ne faites pas grand-chose en termes de création de framework avec ce type de framework QTP. C’est donc le cadre le plus simple à utiliser et à implémenter. L’enregistrement et la lecture normaux que nous faisons avec QTP relèvent de ce cadre.

Voyons maintenant quelques avantages et inconvénients du framework linéaire QTP. Cela vous aiderait à analyser les points positifs et les lacunes de ce cadre et à déterminer ainsi les situations dans lesquelles ce cadre peut être utilisé.

Cadre linéaire QTP – Avantages et inconvénients

Avantages

  • a) Très peu d’expertise en automatisation requise. Seule la connaissance de l’outil est nécessaire pour créer des scripts.
  • b) C’est le moyen le plus rapide de créer des scripts.
  • c) Comme le framework n’est pas complexe, il devient très facile de comprendre le flux.

Inconvénients

  • a) Étant donné que le code est écrit de manière linéaire sans utilisation de fonctions, il y a très peu de possibilités de réutilisation.
  • b) La seule façon de réutiliser le code est de le copier-coller partout où cela est nécessaire. Par conséquent, vous aurez le même code écrit à plusieurs endroits. La maintenance de ce code prend beaucoup de temps et est sujette aux erreurs car vous devez apporter des modifications à tous les endroits affectés.
  • c) Dans ce cadre, les données de test sont codées en dur dans le script. Vous ne pouvez donc pas utiliser le même code pour tester plusieurs ensembles de données. Soit vous devez modifier les données après chaque exécution, soit vous devez créer plusieurs copies du code pour tester différentes données. Ces deux méthodes sont inefficaces.

Où utiliser le cadre linéaire QTP?

De la section ci-dessus, vous pouvez clairement constater que les inconvénients de ce cadre l’emportent sur les avantages. La réutilisabilité et la maintenabilité sont quelques-uns des principaux facteurs pris en compte lors de la création d’un cadre d’automatisation. Pour cette raison, vous trouverez rarement un cadre linéaire utilisé dans des projets réels.

Puisque vous ne pouvez pas l’utiliser dans des projets d’automatisation complexes de la vie réelle, cela signifie-t-il que ce framework ne sert à rien ? Bien.. pas exactement. Vous pouvez utiliser ce cadre pour les tâches où vous souhaitez terminer le travail rapidement. Cela peut également être utilisé pour prendre en charge les tests manuels.

Considérez cette situation. Supposons que vous testiez une application où vous devez créer beaucoup de commandes. Maintenant, la création de ces tâches est un processus long et fastidieux. Ce que vous pouvez faire ici, c’est simplement enregistrer le flux de création de commandes et exécuter le script pour créer des commandes. Vous pouvez exécuter le script lorsque vous sortez déjeuner et au moment de votre retour, vous auriez vos commandes prêtes :–)

Vous pouvez également l’utiliser pour de nombreuses autres tâches répétables telles que la vérification de vos comptes GMail pour de nouveaux mails lorsque vous démarrez votre machine, le remplissage de feuilles de temps, etc. Les possibilités sont infinies !!

Composants dans le cadre linéaire QTP

Comme ce cadre est assez simple et direct, il n’y a pas beaucoup de composants qui lui sont généralement associés. La figure ci-dessous répertorie les composants typiques utilisés avec ce framework.

 Conception de cadre linéaire QTP

1) Scripts de Test: Même si vous n’automatiseriez pas de nombreux cas de test en utilisant cette approche, quels que soient les scénarios que vous avez avec vous, vous pouvez les associer à un ou plusieurs tests QTP.

2) Référentiel d’objets: Si vous utilisez la méthode d’enregistrement et de lecture pour créer des scripts de test, le référentiel d’objets sera automatiquement généré pour vous. Si nécessaire, vous pouvez apporter quelques modifications aux propriétés de l’objet dans le référentiel. Vous pouvez utiliser des concepts de programmation descriptifs et ainsi ignorer complètement le référentiel d’objets.

Vous pouvez également utiliser des composants supplémentaires tels qu’un script de pilote si vous souhaitez planifier l’heure à laquelle les scénarios de test doivent être exécutés.

Exemple de cadre linéaire QTP

Nous allons maintenant créer un script dans le cadre linéaire QTP qui ouvrirait GMail et récupérerait le nombre d’e-mails reçus dans votre boîte de réception aujourd’hui. En utilisant l’AOM de QTP, nous allons également créer un script de pilote qui nous aidera à planifier le temps d’exécution de ce cas de test.

Code pour vérifier la boîte de réception des mails reçus aujourd’hui

Dim iTodayMailsiTodayMails = 0'Open GMailSystemUtil.Run "iexplore.exe", "http://www.gmail.com"'Page SyncBrowser("Gmail").Page("Gmail").Sync'Login to GmailBrowser("Gmail").Page("Gmail").WebEdit("UserName").Set "valid gmail login id"Browser("Gmail").Page("Gmail").WebEdit("Password").Set "valid gmail password"Browser("Gmail").Page("Gmail").WebButton("SignIn").Click'Page SyncBrowser("Inbox").Page("Inbox").Sync'Search for emails received today in your inbox'Logic - The mails received today will have only time in the last(8th) column.'Time is always followed by am or pm. So the code check for the last 2 characters and matches it with am or pm.For iR = 1 to 50sLastColumnText = Browser("Inbox").Page("Inbox").Frame("Frame").WebTable("Emails").GetCellData(iR,8)sLast2Characters = Right(sLastColumnText, 2)If sLast2Characters = "am" or sLast2Characters = "pm" TheniTodayMails = iTodayMails + 1Else'Exit ForEnd IfNext'Report the number of mails received todayReporter.ReportEvent micPass, "Total Emails Received Today - " & iTodayMails, ""'Sign out from GMailBrowser("Inbox").Page("Inbox").Frame("Frame").Link("SignOut").ClickBrowser("Gmail").Page("Gmail").Sync'Close the browserBrowser("Gmail").Close()

Script de pilote créé à l’aide de QTP AOM

Dim testCasePath, resultPathtestCasePath = "D:\QTP\QTP Framework Samples\QTP Linear Framework Demo\GMail Inbox1"resultPath = "D:\QTP\QTP Framework Samples\QTP Linear Framework Demo\Result"'Open QTPSet qtpApp = CreateObject("QuickTest.Application")'If QTP is not open then open QTP applicationIf qtpApp.launched <> True ThenqtpApp.LaunchEnd If'Make the QuickTest application visibleqtpApp.Visible = True'Set QuickTest run optionsqtpApp.Options.Run.ImageCaptureForTestResults = "OnError"qtpApp.Options.Run.RunMode = "Fast"qtpApp.Options.Run.ViewResults = True'Open the test in read-only modeqtpApp.Open testCasePath, TrueWScript.Sleep 2000'set run settings for the testiSet qtpTest = qtpApp.Test'Instruct QuickTest to perform next step when error occursqtpTest.Settings.Run.OnError = "NextStep"'Create the Run Results Options objectSet qtpResult = CreateObject("QuickTest.RunResultsOptions")'Set the results locationqtpResult.ResultsLocation = resultPath'Run the testWScript.Sleep 3000qtpTest.Run qtpResult

Vous pouvez ajouter ce code DriverScript dans le démarrage de Windows ou le planifier via le planificateur de tâches Windows si vous souhaitez planifier l’exécution du scénario de test à un moment donné de la journée ou exécuter le scénario de test chaque fois que vous démarrez votre système.

Leave a Reply