Ravnanje z izjemami selena (seznam pogostih izjem)

Kazalo:

Anonim

Kaj so izjeme?

Izjema je napaka, ki se zgodi v času izvajanja programa. Vendar pa programski jeziki med izvajanjem programa ustvarijo izjemo, ki jo je treba obravnavati, da preprečite zrušitev programa.

Izjema kaže, da čeprav se dogodek lahko zgodi, se ta vrsta dogodka zgodi redko. Ko metoda ne more obvladati izjeme, se vrne na funkcijo klicatelja. Sčasoma se program, ko izvleče izjema iz glavne funkcije, nenadoma zaključi.

V tej vadnici boste izvedeli:

  • Kaj so izjeme?
  • Izjeme v spletnem gonilniku Selenium
  • Obravnavanje izjem iz selena
  • Metode za prikaz izjem

Pogoste izjeme v spletnem gonilniku Selenium

Ime izjeme Opis
ElementNotVisibleException Ta vrsta izjeme selena se pojavi, ko ima obstoječi element v DOM-u funkcijo nastavljeno kot skrito.
ElementNotSelectableException Ta izjema Selenium se pojavi, ko je element predstavljen v DOM-u, vendar ga lahko izberete. Zato ni mogoče komunicirati.
NoSuchElementException Ta izjema se zgodi, če elementa ni bilo mogoče najti.
NoSuchFrameException Ta izjema se zgodi, če cilj okvira, na katerega želite preklopiti, ne obstaja.
NoAlertPresentException Ta izjema se pojavi, ko preklopite na nobeno predstavljeno opozorilo.
NoSuchWindowException Ta izjema se zgodi, če cilj okna, ki ga je treba preklopiti, ne obstaja.
StaleElementReferenceException Ta izjema Selenium se zgodi, ko je spletni element ločen od trenutnega DOM-a.
SessionNotFoundException WebDriver deluje, ko zaprete brskalnik.
TimeoutException Vrže se, ko ni dovolj časa za dokončanje ukaza. Na primer, iskanega elementa v določenem času ni bilo mogoče najti.
WebDriverException Ta izjema se zgodi, ko WebDriver deluje takoj po zaprtju brskalnika.
ConnectionClosedException Ta vrsta izjem se zgodi, če je v gonilniku prekinjena povezava.
ElementClickInterceptedException Ukaz morda ni dokončan, ker element, ki prejema dogodke, prikriva element, ki je bil kliknjen.
ElementNotInteractableException Ta izjema selena se vrže, ko je kateri koli element predstavljen v DOM-u. Vendar je s takšnim elementom nemogoče komunicirati.
ErrorInResponseException To se zgodi med interakcijo z razširitvijo Firefox ali oddaljenim strežnikom gonilnikov.
ErrorHandler.UnknownServerException Izjema se uporablja kot rezervirano mesto, če strežnik vrne napako brez sledi sklada.
ImeActivationFailedException To pričakovanje se bo zgodilo, ko aktiviranje mehanizma IME ne bo uspelo.
ImeNotAvailableException To se zgodi, ko podpora za IME ni na voljo.
InsecureCertificateException Navigacija je uporabniškemu agentu omogočila, da je pritisnil opozorilo potrdila. To lahko povzroči neveljavno ali poteklo potrdilo TLS.
InvalidArgumentException Pojavi se, kadar argument ne spada v pričakovani tip.
InvalidCookieDomainException To se zgodi, ko poskušate namesto trenutnega URL-ja dodati piškotek pod drugo domeno.
InvalidCoordinatesException Ta vrsta izjem se ujema z medsebojno povezano operacijo, ki ni veljavna.
InvalidElementStateExceptio Pojavi se, ko ukaza ni mogoče končati, ko je element neveljaven.
InvalidSessionIdException Ta izjema se je zgodila, ko dani ID seje ni na seznamu aktivnih sej. To pomeni, da seja ne obstaja ali pa je tudi neaktivna.
InvalidSwitchToTargetException To se zgodi, ko cilj okvira ali okna, ki ga je treba zamenjati, ne obstaja.
JavascriptException Ta težava se pojavi med izvajanjem JavaScript, ki ga je dal uporabnik.
JsonException To se zgodi, ko si privoščite sejo, ko seja ni ustvarjena.
NoSuchAttributeException Tovrstna izjema se zgodi, ko atributa elementa ni bilo mogoče najti.
MoveTargetOutOfBoundsException To se zgodi, če cilj, naveden v metodologiji ActionChains move (), ni veljaven. Na primer, iz dokumenta.
NoSuchContextException ContextAware izvaja testiranje mobilnih naprav.
NoSuchCookieException Ta izjema se zgodi, ko za vse povezane piškotke trenutno brskalnega dokumenta ni najden noben piškotek, ki se ujema z danim imenom poti.
NotFoundException Ta izjema je podrazred WebDriverException. To se bo zgodilo, če element na DOM ne obstaja.
RemoteDriverServerException Ta izjema Selenium se sproži, ko se strežnik ne odziva zaradi težave, ker opisane zmogljivosti niso ustrezne.
ScreenshotException Zaslona ni mogoče zajeti.
SessionNotCreatedException To se zgodi, ko nove seje ni bilo mogoče uspešno ustvariti.
UnableToSetCookieException To se zgodi, če voznik ne more nastaviti piškotka.
UnexpectedTagNameException Se zgodi, če razred za podporo ni dobil spletnega elementa, kot je bilo pričakovano.
UnhandledAlertException To pričakovanje se pojavi, ko je opozorilo, vendar WebDriver ne more izvesti opozorila.
UnexpectedAlertPresentException Pojavi se, ko se pojavi nepričakovano opozorilo.
UnknownMethodException Ta izjema se zgodi, ko se zahtevani ukaz ujema z znanim URL-jem, vendar se ne ujema z metodologijo za določen URL.
UnreachableBrowserException Ta izjema se zgodi le, če brskalnika zaradi nekega razloga ni mogoče odpreti ali zrušiti.
UnsupportedCommandException To se zgodi, ko oddaljeni WebDriver ne pošlje veljavnih ukazov, kot je bilo pričakovano.

Obravnavanje izjem iz selena

Tu je nekaj pomembnih standardov, s katerimi lahko obvladate izjeme v programu Selenium WebDriver:

Try-catch : Ta metoda lahko ujame izjeme, ki uporablja kombinacijo ključnih besed try and catch. Ukaz Try označuje začetek bloka, Catch pa je postavljen na konec bloka try, kar pomaga rešiti izjemo.

poskusite{// Koda} ulov (izjema e) {// Koda za obravnavo izjeme}
  • Več blokov ulova : obstajajo različne vrste izjem in od enega bloka kode lahko pričakujete več kot eno izjemo. Večkratni ulovi vam pomagajo obravnavati vsako vrsto izjem posebej z ločenim blokom kode. Uporablja se lahko za več kot dva bloka ulova, število blokov ulova pa ni omejeno.
poskusite{//Koda} ulov (ExceptionType1 e1) {// Koda za ravnanje z izjemami 1} ulov (ExceptionType2 e2) {// Koda za ravnanje z izjemo 2}
  • Vrzi : Ko želite ustvariti izjemo, se ključna beseda Throw uporabi za vrnitev izjeme, da jo obravnava v času izvajanja. Ko vržete izjemo, ne da bi jo obravnavali, morajo uporabiti ključno besedo Throw.
public static void anyFunction () vrže izjemo {poskusite {// tu napiši svojo kodo} Ulov (izjema b) {// Naredite vse, kar želite izvesti// Vrni izjemo nazaj v sistemmet (b);}}
  • Več izjem : v klavzuli o metanju lahko omenite različne izjeme.
javna statična void anyFunction () vrže ExceptionType1, ExceptionType2 {poskusite {// tu napiši svojo kodo} ulov (ExceptionType1 e1) {// Koda za obravnavo izjeme 1} ulov (ExceptionType1 e2) {// Koda za obravnavo izjeme 2}
  • Končno : Ključna beseda Final se uporablja za ustvarjanje bloka kode pod poskusnim blokom. Končna koda vam pomaga, da se izvede ne glede na pojav izjeme
poskusite {//Koda} ulov (ExceptionType1 e1) {// Blok ulova} ulov (ExceptionType2 e2) {// Blok ulova} ulov (ExceptionType3 e3) {// Blok ulova} končno {// Končni blok se vedno izvrši.}

Metode za prikaz izjem

Za prikaz izjem informacij lahko uporabite tudi naslednje metode:

  • printStackTrace () : Ta funkcija natisne sled sklada, ime izjeme in drug uporaben opis.
  • toString () : Ta funkcija vrne besedilno sporočilo, ki opisuje ime in opis izjeme.
  • getMessage () : pomaga prikazati opis izjeme.

Povzetek:

  • Izjema je napaka, ki se zgodi v času izvajanja programa.
  • Try-catch: Ta metoda lahko ujame izjeme, ki uporablja kombinacijo ključnih besed try and catch.
  • Večkratni ulovi vam pomagajo obravnavati vsako vrsto izjem posebej z ločenim blokom kode.
  • Ključna beseda Throw se uporablja za metanje Exception, da jo obravnava v času izvajanja.
  • printStackTrace (): Ta funkcija natisne sled sklada, ime izjeme in drug uporaben opis
  • toString (): Ta funkcija vrne besedilno sporočilo, ki opisuje ime in opis izjeme.
  • getMessage (): pomaga prikazati opis izjeme.