QTP - Gestion des erreurs

Il existe différentes manières de gérer les erreurs dans QTP. Il existe trois types d'erreurs possibles que l'on rencontrerait en travaillant avec QTP. Ils sont -

  • Erreurs de syntaxe
  • Erreurs logiques
  • Erreurs d'exécution

Types d'erreur

Erreurs de syntaxe

Les erreurs de syntaxe sont les fautes de frappe ou un morceau de code qui ne confirme pas avec la grammaire du langage VBscripting. Les erreurs de syntaxe se produisent au moment de la compilation du code et ne peuvent pas être exécutées tant que les erreurs ne sont pas corrigées.

Pour vérifier la syntaxe, utilisez le raccourci clavier Ctrl + F7 et le résultat s'affiche comme indiqué ci-dessous. Si la fenêtre n'est pas affichée, on peut naviguer vers "Affichage" → "Erreurs".

Erreurs logiques

Si le script est syntaxiquement correct mais qu'il produit des résultats inattendus, il s'agit d'une erreur logique. Une erreur logique n'interrompt généralement pas l'exécution mais produit des résultats incorrects. Des erreurs logiques peuvent survenir pour diverses raisons, des hypothèses erronées ou des malentendus de l'exigence et parfois des logiques de programme incorrectes (en utilisant do-while au lieu de do-Until) ou des boucles infinies.

L'un des moyens de détecter une erreur logique consiste à effectuer des examens par les pairs et également à vérifier le fichier de sortie / fichier de résultats QTP pour s'assurer que l'outil a fonctionné comme il était censé le faire.

Erreurs d'exécution

Comme son nom l'indique, ce type d'erreur se produit pendant l'exécution. La raison de ce type d'erreurs est que le script essayant d'effectuer quelque chose est incapable de le faire et le script s'arrête généralement, car il ne peut pas continuer l'exécution. Les exemples classiques d'erreurs d'exécution sont -

  • Fichier NON trouvé mais le script tente de lire le fichier
  • Objet NON trouvé mais le script essaie d'agir sur cet objet particulier
  • Diviser un nombre par zéro
  • Index du tableau hors limites lors de l'accès aux éléments du tableau

Gestion des erreurs d'exécution

Il existe différentes manières de gérer les erreurs dans le code.

1. Using Test Settings- La gestion des erreurs peut être définie dans les paramètres de test en accédant à l'onglet "Fichier" >> "Paramètres" >> "Exécuter" comme indiqué ci-dessous. Nous pouvons sélectionner l'un des paramètres spécifiés et cliquer sur "OK".

2. Using On Error Statement - L'instruction «On Error» est utilisée pour informer le moteur VBScript des intentions de gérer les erreurs d'exécution par un testeur, plutôt que de permettre au moteur VBScript d'afficher des messages d'erreur qui ne sont pas conviviaux.

  • On Error Resume Next - On Error Resume Next informe le moteur VBScript de traiter l'exécution de la ligne de code suivante lorsqu'une erreur est rencontrée.

  • On error Goto 0 - Cela aide les testeurs à désactiver la gestion des erreurs.

3. Using Err Object - L'objet d'erreur est un objet intégré dans VBScript qui capture le numéro d'erreur d'exécution et la description de l'erreur avec lesquels nous pouvons facilement déboguer le code.

  • Err.Number- La propriété Number renvoie ou définit une valeur numérique spécifiant une erreur. Si la valeur Err.Number est 0, aucune erreur ne s'est produite.

  • Err.Description - La propriété Description renvoie ou définit une brève description d'une erreur.

  • Err.Clear - La méthode Clear réinitialise l'objet Err et efface toutes les valeurs précédentes qui lui sont associées.

Exemple

'Call  the function to Add two Numbers Call Addition(num1,num2) 

Function Addition(a,b)  
   On error resume next  
      If NOT IsNumeric(a) or IsNumeric(b) Then 
         Print "Error number is  " &  err.number & " and description is : 
            " &  err.description 
         Err.Clear 
         Exit Function 
      End If 
   Addition = a+b 

   'disables error handling  
   On Error Goto 0 
End function

4. Using Exit Statement- Les instructions Exit peuvent être utilisées avec l'objet Err pour quitter un test, une action ou une itération basée sur la valeur Err.Number. Voyons chacune de ces instructions Exit en détail.

  • ExitTest - Quitte l'ensemble du test QTP, quels que soient les paramètres d'itération à l'exécution.

  • ExitAction - Quitte l'action en cours.

  • ExitActionIteration - Quitte l'itération actuelle de l'action.

  • ExitTestIteration - Quitte l'itération actuelle du test QTP et passe à l'itération suivante.

5. Recovery Scenarios - En cas d'erreur, des scénarios de récupération sont déclenchés en fonction de certaines conditions et sont traités en détail dans un chapitre séparé.

6. Reporter Object- L'objet Reporter nous aide à signaler un événement aux résultats d'exécution. Cela nous aide à identifier si l'action / l'étape concernée est réussite / échec.

'Syntax: Reporter.ReportEventEventStatus, ReportStepName, Details, 
[ImageFilePath] 

'Example 
Reporter.ReportEvent micFail, "Login", "User is unable to Login."