Gestione delle eccezioni Selenium Driver Web (tipi)

Cos'è un'eccezione?

An eccezione è un errore che si verifica al momento dell'esecuzione di un programma. Tuttavia, durante l'esecuzione di un programma, i linguaggi di programmazione generano un'eccezione che dovrebbe essere gestita per evitare che il programma si blocchi.

L'eccezione indica che, sebbene l'evento possa verificarsi, questo tipo di evento accade raramente. Quando il metodo non è in grado di gestire l'eccezione, viene lanciato alla sua funzione chiamante.

Tipi di eccezioni in Selenium Webdriver

1. ElementNotVisibleException: Questo tipo di Selenium L'eccezione si verifica quando un elemento esistente nel DOM ha una funzionalità impostata come nascosta.

2. ElementNotSelectableException: Questo Selenium L'eccezione si verifica quando un elemento viene presentato nel file DOM, ma puoi essere in grado di selezionare. Pertanto non è possibile interagire.

3. NoSuchElementException: Questa eccezione si verifica se non è stato possibile trovare un elemento.

4. NoSuchFrameException: Questa eccezione si verifica se la destinazione del frame a cui passare non esiste.

5. NoAlertPresentException: Questa eccezione si verifica quando si passa all'avviso senza presentazione.

6. NoSuchWindowException: Questa eccezione si verifica se la finestra di destinazione da cambiare non esiste.

7. StaleElementReferenceException: Questo Selenium L'eccezione si verifica quando l'elemento web viene scollegato dal DOM corrente.

8. SessionNotFoundException: Il WebDriver funziona dopo aver chiuso il browser.

9. Eccezione Timeout: Lanciato quando non c'è abbastanza tempo per completare un comando. Ad esempio, l'elemento cercato non è stato trovato nel tempo specificato.

10. WebDriverException: Questa eccezione si verifica quando il WebDriver agisce subito dopo aver chiuso il browser.

11. ConnectionClosedException: Questo tipo di eccezione avviene quando si verifica una disconnessione nel driver.

12. ElementClickInterceptedException: Il comando potrebbe non essere completato poiché l'elemento che riceve gli eventi nasconde l'elemento su cui è stato richiesto di fare clic.

13. ElementNotInteractableException: Questo Selenium viene lanciata un'eccezione quando un elemento viene presentato nel DOM. Tuttavia, è impossibile interagire con un tale elemento.

14. ErrorInResponseException: Ciò accade durante l'interazione con il Firefox estensione o il server del driver remoto.

15. ErrorHandler.UnknownServerException: L'eccezione viene utilizzata come segnaposto nel caso in cui il server restituisca un errore senza un'analisi dello stack.

16. ImeActivationFailedException: Questa aspettativa si verificherà quando l'attivazione del motore IME non è riuscita.

17. ImeNotAvailableException: Si verifica quando il supporto IME non è disponibile.

18. InsecureCertificateException: La navigazione ha fatto sì che l'agente utente visualizzasse un avviso di certificato. Ciò può essere causato da un certificato TLS non valido o scaduto.

19. InvalidArgumentException: Si verifica quando un argomento non appartiene al tipo previsto.

20. InvalidCookieDomainException: Ciò accade quando provi ad aggiungere un cookie con un dominio diverso anziché con l'URL corrente.

21. InvalidCoordinatesException: Questo tipo di eccezione corrisponde a un'operazione interagente che non è valida.

22. InvalidElementStateException: Si verifica quando il comando non può essere completato quando l'elemento non è valido.

23. InvalidSessionIdException: Questa eccezione si è verificata quando l'ID sessione specificato non è incluso nell'elenco delle sessioni attive. Significa che la sessione non esiste o è anche inattiva.

24. Passa a non validoTargeteccezione: Ciò si verifica quando la cornice o la finestra di destinazione da cambiare non esiste.

25 Javascripteccezione: Questo problema si verifica durante l'esecuzione JavaScript fornito dall'utente.

26. JsonException: Si verifica quando ti permetti di ottenere la sessione quando la sessione non viene creata.

27. NoSuchAttributeException: Questo tipo di eccezione si verifica quando non è stato possibile trovare l'attributo di un elemento.

28. MossaTargetEccezione OutOfBounds: Ha luogo se il target fornito alla metodologia move() di ActionChains non è valido. Ad esempio, fuori dal documento.

29. NoSuchContextException: ContextAware esegue test sui dispositivi mobili.

30. NoSuchCookieException: Questa eccezione si verifica quando non viene trovato alcun cookie corrispondente al percorso specificato per tutti i cookie associati del documento attualmente in navigazione.

31. NotFoundException: Questa eccezione è una sottoclasse di WebDriverException. Ciò si verificherà quando un elemento nel DOM non esiste.

32. RemoteDriverServerException: Questo Selenium viene generata un'eccezione quando il server non risponde a causa del problema relativo alla non correttezza delle funzionalità descritte.

33. Eccezione schermata: Non è possibile catturare una schermata.

34. SessionNotCreatedException: Succede quando non è possibile creare correttamente una nuova sessione.

35. UnableToSetCookieException: Ciò si verifica se un driver non è in grado di impostare un cookie.

36. Eccezione TagName imprevista: Succede se una classe di supporto non ha ottenuto un elemento web come previsto.

37. UnhandledAlertException: Questa aspettativa si verifica quando è presente un avviso, ma WebDriver non è in grado di eseguire l'operazione di avviso.

38. Eccezione imprevistaAlertPresent: Si verifica quando si verifica un avviso inaspettato.

39. Eccezione metodo sconosciuto: Questa eccezione si verifica quando il comando richiesto corrisponde a un URL noto ma non corrisponde a una metodologia per un URL specifico.

40. Eccezione browser irraggiungibile: Questa eccezione si verifica solo quando il browser non può essere aperto o si blocca per qualche motivo.

41. Eccezione comando non supportata: Ciò si verifica quando il WebDriver remoto non invia comandi validi come previsto.

Come gestire le eccezioni in Selenium

Di seguito sono riportati alcuni standard importanti in cui è possibile gestire le eccezioni Selenium Driver Web:

Passaggio 1) Prova a catturare

Questo metodo può rilevare le eccezioni, che utilizza una combinazione delle parole chiave try and catch. Il comando Try indica l'inizio del blocco e lotta viene posizionato alla fine del blocco try, il che aiuta a risolvere l'eccezione.

try
{
// Code
} catch (Exception e) {
// Code for Handling exception
}

Passaggio 2) Blocchi di cattura multipli

Esistono vari tipi di eccezioni e puoi aspettarti più di un'eccezione da un singolo blocco di codice. Più catture ti aiutano a gestire ogni tipo di eccezione separatamente con un blocco di codice separato. Può essere utilizzato per più di due blocchi catch e non vi è alcuna limitazione al numero di blocchi catch.

try
{
//Code
} catch (ExceptionType1 e1) {
//Code for Handling Exception 1
} catch (ExceptionType2 e2) {
//Code for Handling Exception 2
}

Passaggio 3) Lanciare

Quando vuoi generare un'eccezione, la parola chiave Throw viene usata per lanciare un'eccezione e gestirla in fase di esecuzione. Quando stai lanciando un'eccezione senza gestirla, allora devono usare la parola chiave Throw.

public static void anyFunction() throws Exception{

try {
// write your code here
} Catch (Exception b) {
// Do whatever you want to perform 
// Throw the Exception back to the system
throw(b);
}
}

Passaggio 4) Eccezioni multiple

Puoi menzionare varie Eccezioni nella clausola dei tiri.

public static void anyFunction() throws ExceptionType1, ExceptionType2{

try {
// write your code here
} catch (ExceptionType1 e1) {
// Code to handle exception 1
} catch (ExceptionType1 e2) {
// Code to handle exception 2
}

Passaggio 5) Infine

La parola chiave Final viene utilizzata per creare un blocco di codice sotto il blocco try. È il codice finale che ti aiuta a eseguire indipendentemente dal verificarsi di un'eccezione

try {
//Code
} catch (ExceptionType1 e1) {
//Catch block
} catch (ExceptionType2 e2) {
//Catch block
} catch (ExceptionType3 e3) {
//Catch block
} finally {
//The finally block always executes.
}

Metodi per visualizzare l'eccezione

È inoltre possibile utilizzare i seguenti metodi per visualizzare le informazioni sulle eccezioni:

  • stampaStackTrace(): Questa funzione stampa l'analisi dello stack, il nome dell'eccezione e altre descrizioni utili.
  • accordare(): questa funzione restituisce un messaggio di testo che descrive il nome e la descrizione dell'eccezione.
  • getMessage (): Aiuta a visualizzare la descrizione dell'eccezione.

Sintesi

  • Un'eccezione è un errore che si verifica al momento dell'esecuzione di un programma.
  • Try-catch: questo metodo può rilevare le eccezioni, che utilizza una combinazione delle parole chiave try e catch.
  • Più catture ti aiutano a gestire ogni tipo di eccezione separatamente con un blocco di codice separato.
  • La parola chiave Throw viene utilizzata per lanciare un'eccezione per gestirla in fase di esecuzione.
  • printStackTrace(): questa funzione stampa la traccia dello stack, il nome dell'eccezione e altre descrizioni utili
  • toString(): questa funzione restituisce un messaggio di testo che descrive il nome e la descrizione dell'eccezione.
  • getMessage(): aiuta a visualizzare la descrizione dell'eccezione.