Seleeni erandite käitlemine (üldine erandite loend)

Lang L: none (table-of-contents):

Anonim

Mis on erandid?

Arvatud on viga, mis juhtub ajal täitmise programmi. Programmi käitamise ajal genereerivad programmeerimiskeeled siiski erandi, mida tuleks käsitleda, et teie programm kokku ei kukuks.

Erand näitab, et kuigi sündmus võib juhtuda, juhtub seda tüüpi sündmusi harva. Kui meetod ei suuda erandit käsitleda, visatakse see helistajafunktsiooni. Lõpuks, kui erand põhifunktsioonist välja visatakse, lõpetatakse programm järsult.

Selles õpetuses saate teada:

  • Mis on erandid?
  • Seleniumi veebidraiveri erandid
  • Seleeni erandite käsitlemine
  • Erandi kuvamise meetodid

Seleeni veebidraiveri tavalised erandid

Erandi nimi Kirjeldus
ElementNotVisibleException Seda tüüpi seleeni erand ilmneb siis, kui DOM-i olemasoleval elemendil on funktsioon peidetud.
ElementNotSelectableException See seleeni erand ilmneb siis, kui element esitatakse DOM-is, kuid saate selle valida. Seetõttu ei ole võimalik suhelda.
NoSuchElementException See erand ilmneb juhul, kui elementi ei leitud.
NoSuchFrameException See erand ilmneb juhul, kui ümber lülitatavat raami sihtmärki pole olemas.
NoAlertPresentException See erand ilmneb siis, kui lülitute esitamata hoiatusele.
NoSuchWindowException See erand ilmneb juhul, kui lülitatavat akna sihtmärki pole olemas.
StaleElementReferenceException See seleeni erand ilmneb siis, kui veebielement lahutatakse praegusest DOM-ist.
SessionNotFoundException Pärast brauserist väljumist töötab WebDriver.
TimeoutException Visatakse siis, kui käsu täitmiseks pole piisavalt aega. Näiteks ei leitud otsitud elementi määratud aja jooksul.
WebDriverException See erand toimub siis, kui WebDriver tegutseb kohe pärast brauseri sulgemist.
ConnectionClosedException Seda tüüpi erand toimub siis, kui draiveris on ühendus katkestatud.
ElementClickInterceptedException Käsk ei pruugi olla lõpule viidud, kuna sündmusi vastu võttev element varjab soovitud elementi.
ElementNotInteractableException See seleeni erand visatakse, kui mis tahes element esitatakse DOM-is. Sellise elemendiga on aga võimatu suhelda.
ErrorInResponseException See juhtub Firefoxi laienduse või kaugdraiveriserveriga suhtlemisel.
ErrorHandler.UnknownServerException Erandit kasutatakse kohahoidjana juhul, kui server tagastab vea ilma virnajäljeta.
ImeActivationFailedException See ootus tekib siis, kui IME-mootori aktiveerimine ebaõnnestub.
ImeNotAvailableException See toimub siis, kui IME tugi pole saadaval.
InsecureCertificateException Navigeerimine pani kasutajaagendi tabama sertifikaadi hoiatust. Selle võib põhjustada kehtetu või aegunud TLS-i sertifikaat.
InvalidArgumentException See tekib siis, kui argument ei kuulu oodatud tüüpi.
InvalidCookieDomainException See juhtub siis, kui proovite küpsise lisada praeguse URL-i asemel mõne muu domeeni alla.
InvalidCoordinatesException Seda tüüpi erand sobib koostoimel, mis ei kehti.
InvalidElementStateExceptio See juhtub siis, kui käsku ei saa lõpule viia, kui element on vale.
InvalidSessionIdException See erand leidis aset siis, kui antud seansi ID pole aktiivsete seansside loendis. See tähendab, et seanssi pole olemas või see on ka passiivne.
InvalidSwitchToTargetException See juhtub siis, kui vahetatavat raami või akna sihtmärki pole olemas.
Javascripti erand See probleem ilmneb kasutaja antud JavaScripti käivitamisel.
JsonException See juhtub siis, kui lubate seansi saada, kui seanssi pole loodud.
NoSuchAttributeException Selline erand ilmneb siis, kui elemendi atribuuti ei leitud.
MoveTargetOutOfBoundsException See toimub juhul, kui ActionChains move () metoodikale antud sihtmärk ei kehti. Näiteks dokumendist välja.
NoSuchContextException ContextAware teeb mobiilseadmete testimist.
NoSuchCookieException See erand ilmneb siis, kui parajasti sirvitava dokumendi kõigi seotud küpsiste jaoks ei leitud antud teenimega vastavat küpsist.
NotFoundException See erand on WebDriverExceptioni alaklass. See juhtub siis, kui DOM-is elementi pole.
RemoteDriverServerException See seleeni erand visatakse siis, kui server ei reageeri probleemi tõttu, et kirjeldatud võimalused pole õiged.
ScreenshotException Ekraani pole võimalik jäädvustada.
SessionNotCreatedException See juhtub siis, kui uut seanssi ei õnnestunud edukalt luua.
UnableToSetCookieException See juhtub, kui juht ei saa küpsist seadistada.
UnexpectedTagNameException Juhtub, kui tugiklass ei saanud ootuspäraselt veebielementi.
UnhandledAlertException See ootus ilmneb siis, kui on olemas hoiatus, kuid WebDriver ei saa Alert toimingut teha.
UnexpectedAlertPresentException See juhtub ootamatu häire ilmnemisel.
UnknownMethodException See erand juhtub siis, kui taotletud käsk sobib tuntud URL-iga, kuid ei vasta konkreetse URL-i metoodikale.
UnreachableBrowserException See erand ilmneb ainult siis, kui brauserit ei saa mingil põhjusel avada ega kokku kukkuda.
UnsupportedCommandException See juhtub siis, kui kaug-WebDriver ei saada kehtivaid käske ootuspäraselt.

Seleeni erandite käsitlemine

Siin on mõned olulised standardid, mille abil saate seleeni WebDriveris erandeid käsitleda:

Proovige püüdma : see meetod võib tabada erandeid, mis kasutab proovimise ja püüdmise märksõnade kombinatsiooni. Käsk Proovi näitab ploki algust ja Catch asetatakse prooviploki lõppu, mis aitab erandit lahendada.

proovige{// Kood} saak (erand e) {// Erandi käitlemise kood}
  • Mitu püüdmisplokki : erandeid on erinevat tüüpi ja ühest koodiplokist võite oodata mitut erandit. Mitu püüdmist aitab teil käsitleda igat tüüpi erandeid eraldi eraldi koodiplokiga. Seda saab kasutada rohkem kui kahe püüdmisploki jaoks ja püügiplokkide arv pole piiratud.
proovige{// Kood} saak (ExceptionType1 e1) {// Erandi käsitlemise kood 1} saak (ExceptionType2 e2) {// Erandi käitlemise kood 2}
  • Viskamine : kui soovite luua erandi, kasutatakse viske märksõna Exceptioni viskamiseks, et seda käitamisajal käsitseda. Kui viskate erandi ilma seda käsitlemata, peavad nad kasutama märksõna Viska.
public static void anyFunction () viskab erandi {proovige {// kirjuta siia oma kood} Püük (erand b) {// Tehke kõike, mida soovite esitada// Viska erand süsteemi tagasivisata (b);}}
  • Mitu erandit : visete klauslis saate mainida erinevaid erandeid.
public static void anyFunction () viskab ExceptionType1, ExceptionType2 {proovige {// kirjuta siia oma kood} saak (ExceptionType1 e1) {// Kood erandi 1 käsitsemiseks} saak (ExceptionType1 e2) {// Kood erandi 2 käitlemiseks}
  • Lõpuks : lõplikku märksõna kasutatakse prooviploki alla koodiploki loomiseks. See on viimane kood, mis aitab teil käivitada, olenemata erandi ilmnemisest
proovige {// Kood} saak (ExceptionType1 e1) {// Püügiplokk} saak (ExceptionType2 e2) {// Püügiplokk} saak (ExceptionType3 e3) {// Püügiplokk} lõpuks {// Viimane plokk täidetakse alati.}

Erandi kuvamise meetodid

Eranditeabe kuvamiseks võite kasutada ka järgmisi meetodeid:

  • printStackTrace () : see funktsioon prindib virna jälje, erandi nime ja muu kasuliku kirjelduse.
  • toString () : see funktsioon tagastab tekstisõnumi, mis kirjeldab erandi nime ja kirjeldust.
  • getMessage () : aitab kuvada erandi kirjeldust.

Kokkuvõte:

  • Erandiks on viga, mis juhtub programmi käivitamise ajal.
  • Proovige püüdma: see meetod võib püüda erandeid, mis kasutab proovimise ja püüdmise märksõnade kombinatsiooni.
  • Mitu püüdmist aitab teil igat tüüpi erandeid eraldi käsitseda eraldi koodiplokiga.
  • Throw märksõna kasutatakse Exceptioni viskamiseks selle käitamise ajal käitlemiseks.
  • printStackTrace (): see funktsioon prindib virna jälje, erandi nime ja muu kasuliku kirjelduse
  • toString (): see funktsioon tagastab tekstisõnumi, mis kirjeldab erandi nime ja kirjeldust.
  • getMessage (): aitab kuvada erandi kirjeldust.