Mi az a kivétel?
Kivételt képez egy hiba, amely a program futtatásakor történik. A program futtatása közben azonban a programozási nyelvek kivételt generálnak, amelyet kezelni kell, hogy elkerüljék a program összeomlását.
A kivétel azt jelzi, hogy bár az esemény előfordulhat, ez a fajta esemény ritkán fordul elő. Ha a metódus nem képes kezelni a Kivételt, akkor a hívófunkcióra kerül. Végül, ha egy kivétel kivetésre kerül a fő funkcióból, a program hirtelen leáll.
Ebben az oktatóanyagban megtudhatja:
- Mi az a kivétel?
- Kivételek a Selenium web-illesztőprogramban
- A szelén kivételek kezelése
- A kivétel megjelenítésének módszerei
Gyakori kivételek a szelén web-illesztőprogramban
Kivétel neve | Leírás |
ElementNotVisibleException | Ez a fajta szelén-kivétel akkor fordul elő, amikor a DOM egy meglévő elemének rejtettként van beállítva egy szolgáltatása. |
ElementNotSelectableException | Ez a szelén kivétel akkor fordul elő, amikor egy elem megjelenik a DOM-ban, de kiválaszthatja. Ezért nem lehet kölcsönhatásba lépni. |
NoSuchElementException | Ez a kivétel akkor fordul elő, ha egy elem nem található. |
NoSuchFrameException | Ez a kivétel akkor fordul elő, ha az átváltandó keretcél nem létezik. |
NoAlertPresentException | Ez a kivétel akkor fordul elő, ha át nem váltott riasztásra vált. |
NoSuchWindowException | Ez a kivétel akkor fordul elő, ha a kapcsoló ablakcélja nem létezik. |
StaleElementReferenceException | Ez a szelén kivétel akkor fordul elő, amikor a webelem leválik az aktuális DOM-ról. |
SessionNotFoundException | A WebDriver a böngészőből való kilépés után jár. |
TimeoutException | Akkor dobják, amikor nincs elég idő egy parancs végrehajtásához. Például a keresett elem nem található a megadott idő alatt. |
WebDriverException | Ez a kivétel akkor következik be, amikor a WebDriver közvetlenül a böngésző bezárása után jár. |
ConnectionClosedException | Ez a típusú kivétel akkor történik, amikor az illesztőprogram megszakad. |
ElementClickInterceptedException | Előfordulhat, hogy a parancs nem fejeződik be, mivel az eseményeket fogadó elem elrejti a kért elemet. |
ElementNotInteractableException | Ezt a szelén kivételt akkor dobja el, ha bármely elem megjelenik a DOM-ban. Lehetetlen azonban kölcsönhatásba lépni egy ilyen elemmel. |
ErrorInResponseException | Ez akkor történik, amikor interakcióba lép a Firefox kiterjesztéssel vagy a távoli illesztőprogram-kiszolgálóval. |
ErrorHandler.UnknownServerException | Kivételt használnak helyőrzőként abban az esetben, ha a szerver hibát ad vissza verem nyomkövetése nélkül. |
ImeActivationFailedException | Ez az elvárás akkor fog bekövetkezni, amikor az IME motor aktiválása sikertelen volt. |
ImeNotAvailableException | Akkor történik, amikor az IME támogatás nem érhető el. |
InsecureCertificateException | A navigáció arra késztette a felhasználói ügynököt, hogy elérje a tanúsítványra vonatkozó figyelmeztetést. Ezt érvénytelen vagy lejárt TLS-tanúsítvány okozhatja. |
InvalidArgumentException | Akkor fordul elő, ha egy argumentum nem tartozik a várt típusba. |
InvalidCookieDomainException | Ez akkor történik, amikor egy cookie-t próbál meg egy másik domain alá felvenni az aktuális URL helyett. |
InvalidCoordinatesException | Ez a típusú kivétel megfelel egy kölcsönhatásban lévő műveletnek, amely nem érvényes. |
InvalidElementStateExceptio | Akkor fordul elő, amikor a parancs nem fejezhető be, ha az elem érvénytelen. |
InvalidSessionIdException | Erre a kivételre akkor került sor, amikor a megadott munkamenet-azonosító nem szerepel az aktív munkamenetek listájában. Ez azt jelenti, hogy a munkamenet sem létezik, vagy inaktív. |
InvalidSwitchToTargetException | Ez akkor fordul elő, amikor a kapcsolandó keret vagy ablak cél nem létezik. |
JavascriptException | Ez a probléma a felhasználó által adott JavaScript futtatása közben jelentkezik. |
JsonException | Akkor fordul elő, amikor megengedi magának a munkamenetet, amikor a munkamenet nincs létrehozva. |
NoSuchAttributeException | Ez a fajta kivétel akkor fordul elő, amikor egy elem attribútuma nem található. |
MoveTargetOutOfBoundsException | Erre akkor kerül sor, ha az ActionChains move () módszertanhoz megadott cél érvénytelen. Például, ki a dokumentumból. |
NoSuchContextException | A ContextAware elvégzi a mobileszközök tesztelését. |
NoSuchCookieException | Ez a kivétel akkor fordul elő, ha az aktuálisan böngésző dokumentum összes társított cookie-jához nem található a megadott útvonalnévnek megfelelő cookie. |
NotFoundException | Ez a kivétel a WebDriverException egyik alosztálya. Ez akkor fordul elő, ha a DOM-on nem létezik elem. |
RemoteDriverServerException | Ezt a szelén kivételt akkor dobja el, ha a kiszolgáló nem válaszol a probléma miatt, hogy a leírt képességek nem megfelelőek. |
ScreenshotException | Képernyőt nem lehet rögzíteni. |
SessionNotCreatedException | Akkor történik, amikor egy új munkamenetet nem sikerült sikeresen létrehozni. |
UnableToSetCookieException | Ez akkor fordul elő, ha az illesztőprogram nem tudja beállítani a cookie-kat. |
UnexpectedTagNameException | Akkor történik, ha egy támogató osztály nem kapott webelementet a várakozásoknak megfelelően. |
UnhandledAlertException | Ez az elvárás akkor fordul elő, ha riasztás van, de a WebDriver nem képes riasztási művelet végrehajtására. |
UnexpectedAlertPresentException | Akkor fordul elő, ha váratlan riasztás jelenik meg. |
UnknownMethodException | Ez a kivétel akkor következik be, amikor a kért parancs megfelel egy ismert URL-nek, de nem egyezik meg egy adott URL módszertanával. |
UnreachableBrowserException | Ez a kivétel csak akkor fordul elő, ha a böngészőt valamilyen okból nem lehet megnyitni vagy összeomlani. |
UnsupportedCommandException | Ez akkor fordul elő, amikor a távoli WebDriver nem a várt módon küldi el az érvényes parancsokat. |
A szelén kivételek kezelése
Íme néhány fontos szabvány, amellyel kezelheti a kivételeket a Selenium WebDriver programban:
Try-catch : Ez a módszer megragadhatja a kivételeket, amely a try and catch kulcsszavak kombinációját használja. A Try parancs a blokk kezdetét jelzi, a Catch pedig a try blokk végére kerül, ami segít megoldani a Kivételt.
próbáld ki{// Kód} fogás (e kivétel) {// Kezelés kódja kivétel}
- Több elkapási blokk : Különböző típusú kivételek léteznek, és egyetlen kódblokktól több kivételt is elvárhat. A többszörös elkapás segít a kivétel minden típusának külön kezelésében, külön kódblokkal. Kétnél több elkapási blokknál használható, a fogási blokkok számát illetően nincs korlátozás.
próbáld ki{//Kód} catch (ExceptionType1 e1) {// Az 1. kivétel kezelésének kódja} catch (ExceptionType2 e2) {// A 2. kivétel kezelésének kódja}
- Dobás : Ha kivételt akar létrehozni, akkor a Dobás kulcsszóval dobja a Kivételt, hogy kezelje azt a futási időben. Amikor kivételt dobsz anélkül, hogy kezelnéd, akkor nekik kell használniuk a Throw kulcsszót.
public static void anyFunction () dobja a Kivételt {próbáld ki {// írja ide a kódját} Fogás (b kivétel) {// Tedd meg, amit csak akarsz// Dobja vissza a Kivételt a rendszerbedobás (b);}}
- Több kivétel : Különböző kivételeket említhet a dobási záradékban.
public static void anyFunction () dobja az ExceptionType1, ExceptionType2 {próbáld ki {// írja ide a kódját} catch (ExceptionType1 e1) {// Az 1. kivétel kezeléséhez szükséges kód} catch (ExceptionType1 e2) {// Kód a 2. kivétel kezeléséhez}
- Végül : A Végső kulcsszó segítségével létrehozhatunk egy blokkot a try blokk alatt. Ez a végső kód, amely segít a végrehajtásban, függetlenül a kivétel előfordulásától
próbáld ki {//Kód} catch (ExceptionType1 e1) {// Fogási blokk} catch (ExceptionType2 e2) {// Fogási blokk} catch (ExceptionType3 e3) {// Fogási blokk} végül {// Az utolsó blokk mindig végrehajtódik.}
A kivétel megjelenítésének módszerei
A kiviteli információk megjelenítéséhez a következő módszereket is használhatja:
- printStackTrace () : Ez a függvény kinyomtatja a verem nyomát, a Kivétel nevét és egyéb hasznos leírást.
- toString () : Ez a függvény egy szöveges üzenetet ad vissza, amely leírja a kivétel nevét és leírását.
- getMessage () : Segít megjeleníteni a Kivétel leírását.
Összegzés:
- Kivételt képez egy hiba, amely a program futtatásakor történik.
- Try-catch: Ez a módszer megragadhatja a kivételeket, amely a try and catch kulcsszavak kombinációját használja.
- A többszörös elkapás segít a kivétel minden típusának külön kezelésében, külön kódblokkal.
- A Throw kulcsszót használjuk a Exception feldobására, hogy kezeljük azt a futási időben.
- printStackTrace (): Ez a függvény kinyomtatja a verem nyomát, a Kivétel nevét és egyéb hasznos leírást
- toString (): Ez a függvény egy szöveges üzenetet ad vissza, amely leírja a kivétel nevét és leírását.
- getMessage (): Segít megjeleníteni a Kivétel leírását.