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