Manipulare excepții seleniu (Lista excepțiilor comune)

Cuprins:

Anonim

Ce este o excepție?

O excepție este o eroare care se întâmplă în momentul executării unui program. Cu toate acestea, în timp ce rulați un program, limbajele de programare generează o excepție care ar trebui gestionată pentru a evita ca programul dvs. să se blocheze.

Excepția indică faptul că, deși evenimentul poate avea loc, acest tip de eveniment se întâmplă rar. Când metoda nu este capabilă să gestioneze excepția, aceasta este aruncată în funcția sa de apelant. În cele din urmă, când o excepție este eliminată din funcția principală, programul este terminat brusc.

În acest tutorial, veți învăța:

  • Ce este o excepție?
  • Excepții la driverul Selenium Web
  • Tratarea excepțiilor de seleniu
  • Metode pentru afișarea excepției

Excepții comune la driverul Selenium Web

Numele excepției Descriere
ElementNotVisibleException Acest tip de excepție Selenium apare atunci când un element existent în DOM are o caracteristică setată ca ascunsă.
ElementNotSelectableException Această excepție de seleniu apare atunci când un element este prezentat în DOM, dar puteți selecta. Prin urmare, nu este posibil să interacționăm.
NoSuchElementException Această excepție apare dacă un element nu a putut fi găsit.
NoSuchFrameException Această excepție apare dacă nu există ținta cadru la care trebuie să treceți.
NoAlertPresentException Această excepție apare atunci când treceți la nicio alertă prezentată.
NoSuchWindowException Această excepție apare în cazul în care comutatorul țintă de fereastră nu există.
StaleElementReferenceException Această excepție Selenium apare atunci când elementul web este detașat de DOM-ul curent.
SessionNotFoundException WebDriver acționează după ce ați părăsit browserul.
TimeoutException Aruncată atunci când nu este suficient timp pentru ca o comandă să fie finalizată. De exemplu, elementul căutat nu a fost găsit în timpul specificat.
WebDriverException Această excepție are loc atunci când WebDriver acționează imediat după ce închideți browserul.
ConnectionClosedException Acest tip de excepție are loc atunci când există o deconectare în driver.
ElementClickInterceptedException Comanda nu poate fi finalizată deoarece elementul care primește evenimentele ascunde elementul pe care a fost solicitat clic.
ElementNotInteractableException Această excepție de seleniu este aruncată atunci când orice element este prezentat în DOM. Cu toate acestea, este imposibil să interacționezi cu un astfel de element.
ErrorInResponseException Acest lucru se întâmplă în timpul interacțiunii cu extensia Firefox sau serverul driverului de la distanță.
ErrorHandler.UnknownServerException Excepția este utilizată ca substituent în cazul în care serverul returnează o eroare fără o urmă de stivă.
ImeActivationFailedException Această așteptare va apărea atunci când activarea motorului IME a eșuat.
ImeNotAvailableException Are loc atunci când asistența IME nu este disponibilă.
InsecureCertificateException Navigarea a făcut ca agentul utilizator să primească un avertisment de certificat. Acest lucru poate fi cauzat de un certificat TLS invalid sau expirat.
InvalidArgumentException Apare atunci când un argument nu aparține tipului așteptat.
InvalidCookieDomainException Acest lucru se întâmplă atunci când încercați să adăugați un cookie sub un alt domeniu în loc de adresa URL curentă.
InvalidCoordinatesException Acest tip de excepție se potrivește cu o operațiune de interacțiune care nu este validă.
InvalidElementStateExceptio Apare atunci când comanda nu poate fi terminată atunci când elementul este invalid.
InvalidSessionIdException Această excepție a avut loc atunci când ID-ul sesiunii date nu este inclus în lista sesiunilor active. Înseamnă că sesiunea nu există sau este inactivă.
InvalidSwitchToTargetException Acest lucru se întâmplă atunci când cadrul sau fereastra țintă de comutat nu există.
JavascriptException Această problemă apare în timpul executării JavaScript-ului dat de utilizator.
JsonException Apare atunci când vă permiteți să obțineți sesiunea atunci când sesiunea nu este creată.
NoSuchAttributeException Acest tip de excepție apare atunci când atributul unui element nu a putut fi găsit.
MoveTargetOutOfBoundsException Are loc dacă ținta furnizată metodologiei ActionChains move () nu este validă. De exemplu, din document.
NoSuchContextException ContextAware efectuează testarea dispozitivelor mobile.
NoSuchCookieException Această excepție apare atunci când nu se găsește niciun cookie care se potrivește cu calea dată pentru toate cookie-urile asociate din documentul de navigare curent.
NotFoundException Această excepție este o subclasă a WebDriverException. Acest lucru se va întâmpla atunci când un element de pe DOM nu există.
RemoteDriverServerException Această excepție Selenium este aruncată atunci când serverul nu răspunde din cauza problemei că capacitățile descrise nu sunt adecvate.
ScreenshotException Nu este posibil să capturați un ecran.
SessionNotCreatedException Se întâmplă când o nouă sesiune nu a putut fi creată cu succes.
UnableToSetCookieException Acest lucru se întâmplă dacă un conducător auto nu poate seta un cookie.
UnexpectedTagNameException Se întâmplă dacă o clasă de asistență nu a obținut un element web așa cum era de așteptat.
UnhandledAlertException Această așteptare apare atunci când există o alertă, dar WebDriver nu este capabil să efectueze operațiunea Alertă.
UnexpectedAlertPresentException Apare atunci când apare apariția unei alerte neașteptate.
UnknownMethodException Această excepție se întâmplă atunci când comanda solicitată se potrivește cu o adresă URL cunoscută, dar și nu se potrivește cu o metodologie pentru o anumită adresă URL.
UnreachableBrowserException Această excepție apare numai atunci când browserul nu poate fi deschis sau blocat din anumite motive.
UnsupportedCommandException Acest lucru se întâmplă atunci când WebDriver la distanță nu trimite comenzi valide așa cum era de așteptat.

Tratarea excepțiilor de seleniu

Iată câteva standarde importante cu care puteți gestiona excepțiile din Selenium WebDriver:

Încercare-capturare : Această metodă poate prinde excepții, care utilizează o combinație de cuvinte cheie încercați și capturați. Comanda Try indică începutul blocului, iar Catch este plasat la sfârșitul blocului try, ceea ce ajută la rezolvarea excepției.

încerca{// Cod} catch (Exception e) {// Excepție de cod pentru gestionare}
  • Blocuri multiple de captură : există diferite tipuri de excepții și vă puteți aștepta la mai multe excepții de la un singur bloc de cod. Capturile multiple vă ajută să gestionați fiecare tip de excepție separat, cu un bloc separat de cod. Poate fi folosit pentru mai mult de două blocuri de prindere și nu există nicio limitare a numărului de blocuri de prindere.
încerca{//Cod} catch (ExceptionType1 e1) {// Cod pentru tratarea excepției 1} catch (ExceptionType2 e2) {// Cod pentru tratarea excepției 2}
  • Throw : Când doriți să generați o excepție, cuvântul cheie Throw este utilizat pentru a arunca Exception pentru a o gestiona în timpul de execuție. Când lansați o excepție fără a o manipula, atunci trebuie să utilizeze cuvântul cheie Throw.
public static nul anyFunction () aruncă Excepție {încerca {// scrieți codul aici} Captură (excepție b) {// Fă orice vrei să faci// Aruncați excepția înapoi în sistemarunca (b);}}
  • Excepții multiple : Puteți menționa diverse excepții în clauza aruncărilor.
public static void anyFunction () aruncă ExceptionType1, ExceptionType2 {încerca {// scrieți codul aici} catch (ExceptionType1 e1) {// Cod pentru a gestiona excepția 1} catch (ExceptionType1 e2) {// Cod pentru a gestiona excepția 2}
  • În cele din urmă : cuvântul cheie Final este utilizat pentru a crea un bloc de cod sub blocul try. Este codul final care vă ajută să executați, indiferent de apariția unei excepții
încerca {//Cod} catch (ExceptionType1 e1) {// Bloc de captură} catch (ExceptionType2 e2) {// Bloc de captură} catch (ExceptionType3 e3) {// Bloc de captură} in cele din urma {// Blocul final se execută întotdeauna.}

Metode pentru afișarea excepției

De asemenea, puteți utiliza următoarele metode pentru a afișa informații de excepție:

  • printStackTrace () : Această funcție imprimă urmele stivei, numele Excepției și alte descrieri utile.
  • toString () : Această funcție returnează un mesaj text care descrie numele și descrierea excepției.
  • getMessage () : ajută la afișarea descrierii excepției.

Rezumat:

  • O excepție este o eroare care se întâmplă în momentul executării unui program.
  • Încercare-capturare: Această metodă poate prinde excepții, care utilizează o combinație de cuvinte cheie încercați și capturați.
  • Capturile multiple vă ajută să gestionați fiecare tip de excepție separat, cu un bloc separat de cod.
  • Cuvântul cheie Throw este folosit pentru a arunca Exception pentru a-l gestiona în timpul rulării.
  • printStackTrace (): Această funcție imprimă urmele stivei, numele Excepției și alte descrieri utile
  • toString (): Această funcție returnează un mesaj text care descrie numele și descrierea excepției.
  • getMessage (): ajută la afișarea descrierii excepției.