QTP - Fehlerbehandlung
Es gibt verschiedene Möglichkeiten, Fehler in QTP zu behandeln. Es gibt drei mögliche Arten von Fehlern, die bei der Arbeit mit QTP auftreten können. Sie sind -
- Syntaxfehler
- Logische Fehler
- Laufzeitfehler
Fehlertypen
Syntaxfehler
Syntaxfehler sind Tippfehler oder Teile des Codes, die mit der Grammatik der VBscripting-Sprache nicht bestätigt werden. Syntaxfehler treten zum Zeitpunkt der Codekompilierung auf und können erst ausgeführt werden, wenn die Fehler behoben sind.
Verwenden Sie zum Überprüfen der Syntax die Tastenkombination Strg + F7. Das Ergebnis wird wie folgt angezeigt. Wenn das Fenster nicht angezeigt wird, können Sie zu "Ansicht" → "Fehler" navigieren.
Logische Fehler
Wenn das Skript syntaktisch korrekt ist, aber unerwartete Ergebnisse liefert, wird es als logischer Fehler bezeichnet. Ein logischer Fehler unterbricht normalerweise nicht die Ausführung, führt jedoch zu falschen Ergebnissen. Logische Fehler können aufgrund verschiedener Gründe, falscher Annahmen oder Missverständnisse der Anforderung und manchmal falscher Programmlogiken (Do-While anstelle von Do-Until) oder Endlosschleifen auftreten.
Eine Möglichkeit, einen logischen Fehler zu erkennen, besteht darin, Peer-Reviews durchzuführen und die QTP-Ausgabedatei / Ergebnisdatei zu überprüfen, um sicherzustellen, dass das Tool die ordnungsgemäße Ausführung ausgeführt hat.
Laufzeitfehler
Wie der Name schon sagt, tritt diese Art von Fehler zur Laufzeit auf. Der Grund für diese Art von Fehlern ist, dass das Skript, das versucht, etwas auszuführen, dies nicht kann und das Skript normalerweise stoppt, da es die Ausführung nicht fortsetzen kann. Klassische Beispiele für Laufzeitfehler sind -
- Datei NICHT gefunden, aber das Skript versucht, die Datei zu lesen
- Objekt NICHT gefunden, aber das Skript versucht, auf dieses bestimmte Objekt zu reagieren
- Teilen einer Zahl durch Null
- Array-Index außerhalb der Grenzen beim Zugriff auf Array-Elemente
Behandlung von Laufzeitfehlern
Es gibt verschiedene Möglichkeiten, um Fehler im Code zu behandeln.
1. Using Test Settings- Die Fehlerbehandlung kann in den Testeinstellungen definiert werden, indem Sie wie unten gezeigt zur Registerkarte "Datei" >> "Einstellungen" >> "Ausführen" navigieren. Wir können eine der angegebenen Einstellungen auswählen und auf "OK" klicken.
2. Using On Error Statement - Die Anweisung 'On Error' wird verwendet, um die VBScript-Engine über die Absichten zu informieren, die Laufzeitfehler von einem Tester zu behandeln, anstatt der VBScript-Engine zu erlauben, nicht benutzerfreundliche Fehlermeldungen anzuzeigen.
On Error Resume Next - On Error Resume Next weist die VBScript-Engine an, die Ausführung der nächsten Codezeile zu verarbeiten, wenn ein Fehler auftritt.
On error Goto 0 - Dies hilft den Testern, die Fehlerbehandlung auszuschalten.
3. Using Err Object - Das Fehlerobjekt ist ein in VBScript integriertes Objekt, das die Laufzeitfehlernummer und die Fehlerbeschreibung erfasst, mit denen wir den Code problemlos debuggen können.
Err.Number- Die Number-Eigenschaft gibt einen numerischen Wert zurück oder legt diesen fest, der einen Fehler angibt. Wenn der Wert für Err.Number 0 ist, ist kein Fehler aufgetreten.
Err.Description - Die Description-Eigenschaft gibt eine kurze Beschreibung eines Fehlers zurück oder legt diese fest.
Err.Clear - Die Clear-Methode setzt das Err-Objekt zurück und löscht alle damit verbundenen vorherigen Werte.
Beispiel
'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- Exit-Anweisungen können zusammen mit dem Err-Objekt verwendet werden, um einen Test, eine Aktion oder eine Iteration basierend auf dem Err.Number-Wert zu beenden. Lassen Sie uns jede dieser Exit-Anweisungen im Detail betrachten.
ExitTest - Beendet den gesamten QTP-Test, unabhängig von den Einstellungen für die Laufzeititeration.
ExitAction - Beendet die aktuelle Aktion.
ExitActionIteration - Beendet die aktuelle Iteration der Aktion.
ExitTestIteration - Beendet die aktuelle Iteration des QTP-Tests und fährt mit der nächsten Iteration fort.
5. Recovery Scenarios - Bei Auftreten eines Fehlers werden Wiederherstellungsszenarien unter bestimmten Bedingungen ausgelöst und in einem separaten Kapitel ausführlich behandelt.
6. Reporter Object- Reporter Object hilft uns, ein Ereignis an die Laufergebnisse zu melden. Es hilft uns zu identifizieren, ob die betreffende Aktion / der betreffende Schritt bestanden / nicht bestanden ist.
'Syntax: Reporter.ReportEventEventStatus, ReportStepName, Details,
[ImageFilePath]
'Example
Reporter.ReportEvent micFail, "Login", "User is unable to Login."