Mikä on poikkeus?
Poikkeus on virhe, joka tapahtuu silloin, kun ohjelman suorituksen. Ohjelmointikielet luovat kuitenkin ohjelman suorituksen aikana poikkeuksen, joka tulisi käsitellä ohjelman kaatumisen estämiseksi.
Poikkeus osoittaa, että vaikka tapahtuma voi tapahtua, tämän tyyppinen tapahtuma tapahtuu harvoin. Kun menetelmä ei kykene käsittelemään poikkeusta, se heitetään soittajan toimintoonsa. Lopulta, kun poikkeus heitetään pois päätoiminnosta, ohjelma lopetetaan äkillisesti.
Tässä opetusohjelmassa opit:
- Mikä on poikkeus?
- Poikkeukset Selenium Web -ohjaimessa
- Seleenipoikkeuksien käsittely
- Menetelmät poikkeuksen näyttämiseksi
Yleiset poikkeukset Selenium-Web-ohjaimessa
Poikkeuksen nimi | Kuvaus |
ElementNotVisibleException | Tämän tyyppinen seleenipoikkeus tapahtuu, kun DOM: n olemassa olevalla elementillä on piilotettu ominaisuus. |
ElementNotSelectableException | Tämä seleenipoikkeus tapahtuu, kun elementti esitetään DOM: ssä, mutta voit pystyä valitsemaan. Siksi ei ole mahdollista olla vuorovaikutuksessa. |
NoSuchElementException | Tämä poikkeus tapahtuu, jos elementtiä ei löydy. |
NoSuchFrameException | Tämä poikkeus tapahtuu, jos vaihdettavaa kehyskohdetta ei ole olemassa. |
NoAlertPresentException | Tämä poikkeus tapahtuu, kun vaihdat ei-ilmoitukseen. |
NoSuchWindowException | Tämä poikkeus tapahtuu, jos kytkimen ikkunakohdetta ei ole olemassa. |
StaleElementReferenceException | Tämä seleenipoikkeus tapahtuu, kun verkkoelementti irrotetaan nykyisestä DOM: sta. |
SessionNotFoundException | WebDriver toimii, kun suljet selaimen. |
AikakatkaisuException | Heitetään, kun komennon suorittamiseen ei ole tarpeeksi aikaa. Esimerkiksi etsittyä elementtiä ei löytynyt määritettynä aikana. |
WebDriverException | Tämä poikkeus tapahtuu, kun WebDriver toimii heti, kun suljet selaimen. |
YhteysClosedException | Tämän tyyppinen poikkeus tapahtuu, kun ohjaimessa on yhteys. |
ElementClickInterceptedException | Komennoa ei voida suorittaa loppuun, koska tapahtumia vastaanottava elementti piilottaa pyydettyä elementtiä napsauttamalla. |
ElementNotInteractableException | Tämä seleenipoikkeus heitetään, kun mikä tahansa elementti esitetään DOM: ssä. Tällaisen elementin kanssa on kuitenkin mahdotonta olla vuorovaikutuksessa. |
ErrorInResponseException | Tämä tapahtuu, kun olet yhteydessä Firefox-laajennukseen tai etäohjainpalvelimeen. |
ErrorHandler.UnknownServerException | Poikkeusta käytetään paikkamerkkinä, jos palvelin palauttaa virheen ilman pinon jäljitystä. |
ImeActivationFailedException | Tämä odotus tapahtuu, kun IME-moottorin aktivointi epäonnistuu. |
ImeNotAvailableException | Se tapahtuu, kun IME-tuki ei ole käytettävissä. |
InsecureCertificateException | Navigointi sai käyttäjäagentin osumaan varmenteen varoitukseen. Tämän voi aiheuttaa virheellinen tai vanhentunut TLS-varmenne. |
InvalidArgumentException | Se tapahtuu, kun argumentti ei kuulu odotettuun tyyppiin. |
InvalidCookieDomainException | Näin tapahtuu, kun yrität lisätä evästeen eri verkkotunnukseen nykyisen URL-osoitteen sijaan. |
InvalidCoordinatesException | Tämän tyyppinen poikkeus vastaa vuorovaikutuksessa olevaa toimintoa, joka ei ole kelvollinen. |
InvalidElementStateExceptio | Se tapahtuu, kun komentoa ei voida suorittaa loppuun, kun elementti on virheellinen. |
InvalidSessionIdException | Tämä poikkeus tapahtui, kun annettu istunnon tunnus ei sisälly aktiivisten istuntojen luetteloon. Se tarkoittaa, että istuntoa ei ole tai se on myös passiivinen. |
InvalidSwitchToTargetException | Tämä tapahtuu, kun vaihdettavaa kehys- tai ikkunakohetta ei ole olemassa. |
JavascriptException | Tämä ongelma ilmenee suoritettaessa käyttäjän antamaa JavaScriptiä. |
JsonException | Se tapahtuu, kun sinulla on varaa saada istunto, kun istuntoa ei luoda. |
NoSuchAttributeException | Tällainen poikkeus tapahtuu, kun elementin määritettä ei löydy. |
MoveTargetOutOfBoundsException | Se tapahtuu, jos ActionChains move () -menetelmälle annettu tavoite ei ole kelvollinen. Esimerkiksi asiakirjan ulkopuolella. |
NoSuchContextException | ContextAware tekee mobiililaitteiden testausta. |
NoSuchCookieException | Tämä poikkeus tapahtuu, kun kaikille selaavan asiakirjan liittyville evästeille ei löydy evästettä, joka vastaa annettua polunimeä. |
NotFoundException | Tämä poikkeus on WebDriverException-alaluokka. Tämä tapahtuu, kun DOM: ssä ei ole elementtiä. |
RemoteDriverServerException | Tämä Selenium-poikkeus heitetään, kun palvelin ei vastaa ongelman takia, että kuvatut ominaisuudet eivät ole asianmukaisia. |
NäyttökuvaException | Näyttöä ei voida kaapata. |
SessionNotCreatedException | Se tapahtuu, kun uutta istuntoa ei voitu luoda. |
UnableToSetCookieException | Tämä tapahtuu, jos kuljettaja ei pysty asettamaan evästettä. |
UnexpectedTagNameException | Tapahtuu, jos tukiluokka ei saanut verkkoelementtiä odotetulla tavalla. |
UnhandledAlertException | Tämä odotus tapahtuu, kun hälytys on olemassa, mutta WebDriver ei pysty suorittamaan hälytystoimintoa. |
UnexpectedAlertPresentException | Se tapahtuu odottamattoman hälytyksen ilmetessä. |
UnknownMethodException | Tämä poikkeus tapahtuu, kun pyydetty komento vastaa tunnettua URL-osoitetta, mutta ei vastaa tietyn URL-osoitteen menetelmää. |
UnreachableBrowserException | Tämä poikkeus tapahtuu vain, kun selainta ei voida avata tai kaatua jostain syystä. |
UnsupportedCommandException | Tämä tapahtuu, kun etä-WebDriver ei lähetä kelvollisia komentoja odotetulla tavalla. |
Seleenipoikkeuksien käsittely
Tässä on joitain tärkeitä standardeja, joiden avulla voit käsitellä Selenium WebDriverin poikkeuksia:
Kokeile kiinni : Tämä menetelmä voi tarttua poikkeuksiin, joissa käytetään try and catch -avainsanojen yhdistelmää. Try-komento ilmaisee lohkon alkamisen, ja Catch asetetaan kokeilulohkon loppuun, mikä auttaa ratkaisemaan poikkeuksen.
yrittää{// Koodi} saalis (poikkeus e) {// Käsittelykoodin poikkeus}
- Useita salauslohkoja : Poikkeuksia on erityyppisiä, ja voit odottaa useampaa kuin yhtä poikkeusta yhdestä koodilohkosta. Useiden saaliiden avulla voit käsitellä kaikkia poikkeustyyppejä erikseen erillisellä koodilohkolla. Sitä voidaan käyttää useammalle kuin kahdelle saalislohkolle, eikä saalislohkojen lukumäärälle ole rajoituksia.
yrittää{//Koodi} catch (ExceptionType1 e1) {// Poikkeuksen käsittelykoodi 1} catch (ExceptionType2 e2) {// Poikkeuksen käsittelykoodi 2}
- Heitto : Kun haluat luoda poikkeuksen, heittää-avainsanaa käytetään heittämään poikkeus käsittelemään sitä ajon aikana. Kun heität poikkeuksen käsittelemättä sitä, heidän on käytettävä Heitä-avainsanaa.
public static void anyFunction () heittää poikkeuksen {yrittää {// kirjoita koodi tähän} Saalis (poikkeus b) {// Tee mitä haluat suorittaa// Heitä poikkeus takaisin järjestelmäänheitto (b);}}
- Useita poikkeuksia : Voit mainita useita poikkeuksia heittolausekkeessa.
public static void anyFunction () heittää ExceptionType1, ExceptionType2 {yrittää {// kirjoita koodi tähän} catch (ExceptionType1 e1) {// Koodi poikkeuksen 1 käsittelemiseksi} catch (ExceptionType1 e2) {// Koodi poikkeuksen 2 käsittelemiseksi}
- Lopuksi : Viimeistä avainsanaa käytetään koodilohkon luomiseen kokeilulohkon alle. Se on lopullinen koodi, joka auttaa sinua suorittamaan poikkeuksen esiintymisestä riippumatta
yrittää {//Koodi} catch (ExceptionType1 e1) {// Saalislohko} catch (ExceptionType2 e2) {// Saalislohko} catch (ExceptionType3 e3) {// Saalislohko} lopulta {// Viimeinen lohko suoritetaan aina.}
Menetelmät poikkeuksen näyttämiseksi
Voit käyttää poikkeustietoja myös seuraavilla tavoilla:
- printStackTrace () : Tämä toiminto tulostaa pinon jäljityksen, poikkeuksen nimen ja muun hyödyllisen kuvauksen.
- toString () : Tämä toiminto palauttaa tekstiviestin, joka kuvaa poikkeuksen nimen ja kuvauksen.
- getMessage () : Auttaa näyttämään poikkeuksen kuvauksen.
Yhteenveto:
- Poikkeuksena on virhe, joka tapahtuu ohjelman suorituksen yhteydessä.
- Try-catch: Tämä menetelmä voi saada poikkeuksia, joka käyttää try and catch -avainsanojen yhdistelmää.
- Useiden saaliiden avulla voit käsitellä kaikkia poikkeustyyppejä erikseen erillisellä koodilohkolla.
- Heittää avainsanaa käytetään heittämään Poikkeus käsittelemään sitä ajoaikana.
- printStackTrace (): Tämä toiminto tulostaa pinon jäljityksen, poikkeuksen nimen ja muun hyödyllisen kuvauksen
- toString (): Tämä toiminto palauttaa tekstiviestin, joka kuvaa poikkeuksen nimen ja kuvauksen.
- getMessage (): Auttaa näyttämään poikkeuksen kuvauksen.