Cos'è un'eccezione?
Un'eccezione è un errore che si verifica al momento della 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 si verifica raramente. Quando il metodo non è in grado di gestire l'eccezione, viene lanciato alla sua funzione chiamante. Alla fine, quando un'eccezione viene lanciata fuori dalla funzione principale, il programma viene interrotto bruscamente.
In questo tutorial imparerai:
- Cos'è un'eccezione?
- Eccezioni nel driver Web Selenium
- Gestione delle eccezioni al selenio
- Metodi per visualizzare l'eccezione
Eccezioni comuni nel driver Web Selenium
Nome eccezione | Descrizione |
ElementNotVisibleException | Questo tipo di eccezione al selenio si verifica quando un elemento esistente in DOM ha una funzionalità impostata come nascosta. |
ElementNotSelectableException | Questa eccezione di selenio si verifica quando un elemento viene presentato nel DOM, ma puoi essere in grado di selezionare. Pertanto, non è possibile interagire. |
NoSuchElementException | Questa eccezione si verifica se non è stato possibile trovare un elemento. |
NoSuchFrameException | Questa eccezione si verifica se la destinazione del frame a cui passare non esiste. |
NoAlertPresentException | Questa eccezione si verifica quando si passa a nessun avviso presentato. |
NoSuchWindowException | Questa eccezione si verifica se la destinazione della finestra da cambiare non esiste. |
StaleElementReferenceException | Questa eccezione di selenio si verifica quando l'elemento web viene scollegato dal DOM corrente. |
SessionNotFoundException | Il WebDriver agisce dopo aver chiuso il browser. |
TimeoutException | Lanciato quando non c'è abbastanza tempo per completare un comando. Ad esempio, l'elemento cercato non è stato trovato nel tempo specificato. |
WebDriverException | Questa eccezione si verifica quando il WebDriver agisce subito dopo la chiusura del browser. |
ConnectionClosedException | Questo tipo di eccezione si verifica quando c'è una disconnessione nel driver. |
ElementClickInterceptedException | Il comando potrebbe non essere completato in quanto l'elemento che riceve gli eventi nasconde l'elemento che è stato richiesto cliccato. |
ElementNotInteractableException | Questa eccezione Selenium viene generata quando qualsiasi elemento viene presentato nel DOM. Tuttavia, è impossibile interagire con un tale elemento. |
ErrorInResponseException | Ciò accade durante l'interazione con l'estensione per Firefox o il server del driver remoto. |
ErrorHandler.UnknownServerException | L'eccezione viene utilizzata come segnaposto nel caso in cui il server restituisca un errore senza un'analisi dello stack. |
ImeActivationFailedException | Questa aspettativa si verificherà quando l'attivazione del motore IME non è riuscita. |
ImeNotAvailableException | Si verifica quando il supporto IME non è disponibile. |
InsecureCertificateException | La navigazione ha fatto sì che l'agente utente colpisse un avviso di certificato. Ciò può essere causato da un certificato TLS non valido o scaduto. |
InvalidArgumentException | Si verifica quando un argomento non appartiene al tipo previsto. |
InvalidCookieDomainException | Ciò accade quando si tenta di aggiungere un cookie in un dominio diverso anziché nell'URL corrente. |
InvalidCoordinatesException | Questo tipo di eccezione corrisponde a un'operazione interagente che non è valida. |
InvalidElementStateExceptio | Si verifica quando il comando non può essere terminato quando l'elemento non è valido. |
InvalidSessionIdException | Questa eccezione si è verificata quando l'ID di sessione specificato non è incluso nell'elenco delle sessioni attive. Significa che la sessione non esiste o è inattiva. |
InvalidSwitchToTargetException | Ciò si verifica quando il frame o la finestra di destinazione da cambiare non esiste. |
JavascriptException | Questo problema si verifica durante l'esecuzione di JavaScript fornito dall'utente. |
JsonException | Si verifica quando ti permetti di ottenere la sessione quando la sessione non è stata creata. |
NoSuchAttributeException | Questo tipo di eccezione si verifica quando non è stato possibile trovare l'attributo di un elemento. |
MoveTargetOutOfBoundsException | Si verifica se il target fornito alla metodologia move () di ActionChains non è valido. Ad esempio, fuori dal documento. |
NoSuchContextException | ContextAware esegue test sui dispositivi mobili. |
NoSuchCookieException | Questa eccezione si verifica quando nessun cookie corrispondente al percorso specificato viene trovato per tutti i cookie associati del documento di navigazione in corso. |
NotFoundException | Questa eccezione è una sottoclasse di WebDriverException. Ciò si verificherà quando un elemento sul DOM non esiste. |
RemoteDriverServerException | Questa eccezione Selenium viene generata quando il server non risponde a causa del problema che le funzionalità descritte non sono corrette. |
ScreenshotException | Non è possibile acquisire una schermata. |
SessionNotCreatedException | Succede quando non è stato possibile creare una nuova sessione con successo. |
UnableToSetCookieException | Ciò si verifica se un driver non è in grado di impostare un cookie. |
UnexpectedTagNameException | Si verifica se una classe di supporto non ha ricevuto un elemento web come previsto. |
UnhandledAlertException | Questa aspettativa si verifica quando è presente un avviso, ma WebDriver non è in grado di eseguire l'operazione di avviso. |
UnexpectedAlertPresentException | Si verifica quando si verifica un avviso imprevisto. |
UnknownMethodException | Questa eccezione si verifica quando il comando richiesto corrisponde a un URL noto ma non corrisponde a una metodologia per un URL specifico. |
UnreachableBrowserException | Questa eccezione si verifica solo quando il browser non può essere aperto o si è arrestato in modo anomalo per qualche motivo. |
UnsupportedCommandException | Ciò si verifica quando WebDriver remoto non invia comandi validi come previsto. |
Gestione delle eccezioni al selenio
Ecco alcuni standard importanti che consentono di gestire le eccezioni in Selenium WebDriver:
Try-catch : questo metodo può catturare le eccezioni, che utilizza una combinazione delle parole chiave try and catch. Il comando Try indica l'inizio del blocco e Catch viene posizionato alla fine del blocco try, il che aiuta a risolvere l'eccezione.
provare{// Codice} catch (eccezione e) {// Codice per la gestione dell'eccezione}
- Blocchi multipli di cattura : 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 di cattura e non ci sono limiti al numero di blocchi di cattura.
provare{//Codice} catch (ExceptionType1 e1) {// Codice per la gestione delle eccezioni 1} catch (ExceptionType2 e2) {// Codice per la gestione delle eccezioni 2}
- Throw : quando si desidera generare un'eccezione, la parola chiave Throw viene utilizzata per generare un'eccezione per gestirla durante il tempo di esecuzione. Quando lanci un'eccezione senza gestirla, devono utilizzare la parola chiave Throw.
public static void anyFunction () genera un'eccezione {provare {// scrivi qui il tuo codice} Catch (eccezione b) {// Fai quello che vuoi eseguire// Reimposta l'eccezione nel sistemalanciare (b);}}
- Eccezioni multiple : puoi menzionare varie eccezioni nella clausola throws.
public static void anyFunction () genera ExceptionType1, ExceptionType2 {provare {// scrivi qui il tuo codice} catch (ExceptionType1 e1) {// Codice per gestire l'eccezione 1} catch (ExceptionType1 e2) {// Codice per gestire l'eccezione 2}
- 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
provare {//Codice} catch (ExceptionType1 e1) {// Blocco cattura} catch (ExceptionType2 e2) {// Blocco cattura} catch (ExceptionType3 e3) {// Blocco cattura} infine {// Il blocco finalmente viene eseguito sempre.}
Metodi per visualizzare l'eccezione
È inoltre possibile utilizzare i seguenti metodi per visualizzare le informazioni sulle eccezioni:
- printStackTrace () : questa funzione stampa la traccia dello stack, il nome dell'eccezione e altre utili descrizioni.
- 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.
Sommario:
- Un'eccezione è un errore che si verifica al momento dell'esecuzione di un programma.
- Try-catch: questo metodo può catturare le eccezioni, che utilizza una combinazione delle parole chiave try and 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 generare un'eccezione per gestirla durante il runtime.
- printStackTrace (): questa funzione stampa la traccia dello stack, il nome dell'eccezione e altre utili descrizioni
- 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.