QTP - Gestione degli errori

Esistono vari modi per gestire gli errori in QTP. Ci sono tre possibili tipi di errori che si potrebbero incontrare mentre si lavora con QTP. Sono -

  • Errori di sintassi
  • Errori logici
  • Errori in fase di esecuzione

Tipi di errore

Errori di sintassi

Gli errori di sintassi sono gli errori di battitura o una parte del codice che non conferma con la grammatica del linguaggio VBscripting. Gli errori di sintassi si verificano al momento della compilazione del codice e non possono essere eseguiti finché gli errori non vengono corretti.

Per verificare la sintassi, utilizzare la scorciatoia da tastiera Ctrl + F7 e il risultato viene visualizzato come mostrato di seguito. Se la finestra non viene visualizzata, è possibile accedere a "Visualizza" → "Errori".

Errori logici

Se lo script è sintatticamente corretto ma produce risultati imprevisti, è noto come errore logico. L'errore logico di solito non interrompe l'esecuzione ma produce risultati errati. Potrebbero verificarsi errori logici a causa di vari motivi, presupposti errati o incomprensioni del requisito e talvolta logiche di programma errate (utilizzando do-while invece di do-Until) o cicli infiniti.

Uno dei modi per rilevare un errore logico è eseguire revisioni tra pari e verificare anche il file di output / risultato QTP per assicurarsi che lo strumento abbia funzionato come avrebbe dovuto.

Errori di runTime

Come indica il nome, questo tipo di errore si verifica durante il tempo di esecuzione. La ragione di questo tipo di errori è che lo script che tenta di eseguire qualcosa non è in grado di farlo e lo script di solito si interrompe, poiché non è in grado di continuare con l'esecuzione. Esempi classici di errori in fase di esecuzione sono:

  • File NON trovato ma lo script tenta di leggere il file
  • Oggetto NON trovato ma lo script sta cercando di agire su quel particolare oggetto
  • Dividendo un numero per zero
  • Indice dell'array fuori dai limiti durante l'accesso agli elementi dell'array

Gestione degli errori in fase di esecuzione

Esistono vari modi per gestire gli errori nel codice.

1. Using Test Settings- La gestione degli errori può essere definita nelle Impostazioni di prova accedendo alla scheda "File" >> "Impostazioni" >> "Esegui" come mostrato di seguito. Possiamo selezionare una qualsiasi delle impostazioni specificate e fare clic su "OK".

2. Using On Error Statement - L'istruzione "On Error" viene utilizzata per notificare al motore VBScript le intenzioni di gestire gli errori di runtime da parte di un tester, piuttosto che consentire al motore VBScript di visualizzare messaggi di errore non intuitivi.

  • On Error Resume Next - On Error Resume Next informa il motore VBScript di elaborare l'esecuzione della riga di codice successiva quando si verifica un errore.

  • On error Goto 0 - Questo aiuta i tester a disattivare la gestione degli errori.

3. Using Err Object - L'oggetto Error è un oggetto integrato in VBScript che cattura il numero di errore in fase di esecuzione e la descrizione dell'errore con cui siamo in grado di eseguire facilmente il debug del codice.

  • Err.Number- La proprietà Number restituisce o imposta un valore numerico che specifica un errore. Se il valore Err.Number è 0, non si è verificato alcun errore.

  • Err.Description - La proprietà Description restituisce o imposta una breve descrizione di un errore.

  • Err.Clear - Il metodo Clear ripristina l'oggetto Err e cancella tutti i valori precedenti ad esso associati.

Esempio

'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- Le istruzioni di uscita possono essere utilizzate insieme all'oggetto Err per uscire da un test, un'azione o un'iterazione basata sul valore Err.Number. Vediamo in dettaglio ciascuna di queste dichiarazioni di uscita.

  • ExitTest - Esce dall'intero test QTP, indipendentemente dalle impostazioni di iterazione in fase di esecuzione.

  • ExitAction - Esce dall'azione corrente.

  • ExitActionIteration - Esce dall'iterazione corrente dell'azione.

  • ExitTestIteration - Esce dall'iterazione corrente del test QTP e procede all'iterazione successiva.

5. Recovery Scenarios - In caso di errore, gli scenari di ripristino vengono attivati ​​in base a determinate condizioni e vengono trattati in dettaglio in un capitolo separato.

6. Reporter Object- Reporter Object ci aiuta a segnalare un evento ai risultati della corsa. Ci aiuta a identificare se l'azione / il passaggio in questione è superato / non superato.

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

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