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."