Kivételek kezelése Selenium Webdriver (típusok)
Mi az a kivétel?
An kivétel egy olyan hiba, amely egy program végrehajtása során történik. A program futtatása közben azonban a programozási nyelvek kivételt generálnak, amelyet kezelni kell, hogy elkerülje a program összeomlását.
A kivétel azt jelzi, hogy bár az esemény megtörténhet, az ilyen típusú események ritkán fordulnak elő. Ha a metódus nem tudja kezelni a kivételt, akkor a hívó funkciójába kerül.
A kivételek típusai itt Selenium Webdriver
1. ElementNotVisibleException: Ez a fajta Selenium kivétel akkor fordul elő, ha a DOM egy meglévő eleme rejtettnek van beállítva.
2. ElementNotSelectableException: Ezt Selenium kivétel akkor fordul elő, ha egy elemet a DOM, de választhat. Ezért nem lehetséges az interakció.
3. NoSuchElementException: Ez a kivétel akkor fordul elő, ha egy elem nem található.
4. NoSuchFrameException: Ez a kivétel akkor fordul elő, ha nem létezik a váltandó keretcél.
5. NoAlertPresentException: Ez a kivétel akkor fordul elő, ha átvált a nincs megjelenített riasztásra.
6. NoSuchWindowException: Ez a kivétel akkor fordul elő, ha a kapcsolóként kezelendő ablakcél nem létezik.
7. StaleElementReferenceException: Ezt Selenium kivétel akkor fordul elő, ha a webelemet leválasztják az aktuális DOM-ról.
8. SessionNotFoundException: A WebDriver működik, miután kilép a böngészőből.
9. Időtúllépés kivétel: Eldobják, ha nincs elég idő egy parancs végrehajtására. Például a keresett elem nem található a megadott időben.
10. WebDriverException: Erre a kivételre akkor kerül sor, ha a WebDriver közvetlenül a böngésző bezárása után működik.
11. ConnectionClosedException: Ez a fajta kivétel akkor következik be, amikor az illesztőprogramban megszakad a kapcsolat.
12. ElementClickInterceptedException: Előfordulhat, hogy a parancs nem fejeződik be, mivel az eseményeket fogadó elem elrejti azt az elemet, amelyre kattintottak.
13. ElementNotInteractableException: Ezt Selenium kivételt dob, ha bármely elem megjelenik a DOM-ban. Egy ilyen elemmel azonban lehetetlen kölcsönhatásba lépni.
14. ErrorInResponseException: Ez akkor történik, amikor interakcióba lép a Firefox kiterjesztés vagy a távoli illesztőprogram-kiszolgáló.
15. ErrorHandler.UnknownServerException: A kivételt helyőrzőként használjuk arra az esetre, ha a szerver veremkövetés nélkül hibát ad vissza.
16. ImeActivationFailedException: Ez a várakozás akkor következik be, ha az IME motor aktiválása meghiúsult.
17. ImeNot AvailableException: Ez akkor történik meg, ha az IME-támogatás nem érhető el.
18. InsecureCertificateException: A navigáció arra késztette a felhasználói ügynököt, hogy tanúsítvány figyelmeztetést jelenítsen meg. Ezt érvénytelen vagy lejárt TLS-tanúsítvány okozhatja.
19. InvalidArgumentException: Akkor fordul elő, ha egy argumentum nem tartozik a várt típushoz.
20. InvalidCookieDomainException: Ez akkor fordul elő, ha a jelenlegi URL helyett egy másik domain alatt próbál cookie-t hozzáadni.
21. InvalidCoordinatesException: Ez a kivételtípus egy nem érvényes interakciós műveletnek felel meg.
22. InvalidElementStateException: Akkor fordul elő, ha a parancs nem fejezhető be, ha az elem érvénytelen.
23. InvalidSessionIdException: Ez a kivétel akkor történt, ha az adott munkamenet-azonosító nem szerepel az aktív munkamenetek listájában. Ez azt jelenti, hogy a munkamenet nem létezik, vagy inaktív.
24. InvalidSwitchToTargetKivétel: Ez akkor fordul elő, ha a váltandó keret vagy ablak nem létezik.
25. JavascriptKivétel: Ez a probléma végrehajtás közben jelentkezik JavaA felhasználó által megadott szkript.
26. JsonException: Akkor fordul elő, ha megengedi magának a munkamenet beszerzését, amikor a munkamenet nincs létrehozva.
27. NoSuchAttributeException: Ez a fajta kivétel akkor fordul elő, ha egy elem attribútuma nem található.
28. MozgásTargetOutOfBoundsException: Ez akkor történik meg, ha az ActionChains move() módszertanhoz megadott cél nem érvényes. Például a dokumentumból.
29. NoSuchContextException: A ContextAware mobileszközöket tesztel.
30. NoSuchCookieException: Ez a kivétel akkor fordul elő, ha nem található a megadott elérési útnak megfelelő cookie az éppen böngésző dokumentum összes társított cookie-jához.
31. NotFoundException: Ez a kivétel a WebDriverException alosztálya. Ez akkor fordul elő, ha egy elem nem létezik a DOM-ban.
32. RemoteDriverServerException: Ezt Selenium kivétel akkor jelenik meg, ha a szerver nem válaszol a leírt képességek nem megfelelő probléma miatt.
33. Képernyőkép kivétel: Képernyőt nem lehet rögzíteni.
34. SessionNotCreatedException: Ez akkor fordul elő, ha nem sikerült új munkamenetet létrehozni.
35. UnableToSetCookieException: Ez akkor fordul elő, ha az illesztőprogram nem tud cookie-t beállítani.
36. UnexpectedTagNameException: Akkor fordul elő, ha egy támogatási osztály nem kapott webelemet a várt módon.
37. UnhandledAlertException: Ez az elvárás akkor fordul elő, ha van egy riasztás, de a WebDriver nem tud riasztási műveletet végrehajtani.
38. UnexpectedAlertPresentException: Ez akkor fordul elő, ha váratlan riasztás jelenik meg.
39. Unknown MethodException: Ez a kivétel akkor fordul elő, ha a kért parancs megegyezik egy ismert URL-lel, de nem egyezik egy adott URL-hez tartozó módszertannal.
40. UnreachableBrowserException: Ez a kivétel csak akkor fordul elő, ha a böngésző nem nyitható meg, vagy valamilyen okból összeomlik.
41. UnsupportedCommandException: Ez akkor fordul elő, ha a távoli WebDriver nem küld érvényes parancsokat a várt módon.
Hogyan kezeljük a kivételeket Selenium
Íme néhány fontos szabvány, amelyek segítségével kezelheti a kivételeket Selenium WebDriver:
1. lépés) Próbáld elkapni
Ez a módszer elkaphatja az Exceptions-t, amely a try and catch kulcsszavak kombinációját használja. Try parancs jelzi a blokk kezdetét, és Fogás a try blokk végére kerül, ami segít a Kivétel feloldásában.
try { // Code } catch (Exception e) { // Code for Handling exception }
2. lépés) Több rögzítőblokk
Különféle kivételek léteznek, és egyetlen kódblokktól több kivételre is számíthat. A többszörös fogás segít minden kivételtípus külön-külön, külön kódblokk segítségével történő kezelésében. Kettőnél több fogási blokkhoz használható, és a fogási blokkok száma nincs korlátozva.
try { //Code } catch (ExceptionType1 e1) { //Code for Handling Exception 1 } catch (ExceptionType2 e2) { //Code for Handling Exception 2 }
3. lépés) Dobd
Ha kivételt szeretne létrehozni, a Throw kulcsszót a rendszer a kivétel dobására használja, hogy kezelje azt a futási időben. Ha kivételt dobsz anélkül, hogy kezelnéd, akkor a Throw kulcsszót kell használniuk.
public static void anyFunction() throws Exception{ try { // write your code here } Catch (Exception b) { // Do whatever you want to perform // Throw the Exception back to the system throw(b); } }
4. lépés: Több kivétel
Különféle kivételeket említhet a dobászáradékban.
public static void anyFunction() throws ExceptionType1, ExceptionType2{ try { // write your code here } catch (ExceptionType1 e1) { // Code to handle exception 1 } catch (ExceptionType1 e2) { // Code to handle exception 2 }
5. lépés) Végül
A Final kulcsszó egy kódblokk létrehozására szolgál a try blokk alatt. Ez az utolsó kód, amely a kivétel előfordulásától függetlenül segít a végrehajtásban
try { //Code } catch (ExceptionType1 e1) { //Catch block } catch (ExceptionType2 e2) { //Catch block } catch (ExceptionType3 e3) { //Catch block } finally { //The finally block always executes. }
A kivétel megjelenítésének módszerei
A következő módszereket is használhatja a kivételinformációk megjelenítéséhez:
- printStackTrace(): Ez a funkció kinyomtatja a verem nyomvonalát, a kivétel nevét és egyéb hasznos leírásokat.
- 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ésként
- Kivételt képez a program végrehajtása során fellépő hiba.
- Try-catch: Ez a módszer elkaphatja a kivételeket, amely a try and catch kulcsszavak kombinációját használja.
- A többszörös fogás segít minden kivételtípus külön-külön, külön kódblokk segítségével történő kezelésében.
- A Throw kulcsszó a kivétel dobására szolgál, hogy kezelje azt a futási időben.
- printStackTrace(): Ez a függvény kiírja a verem nyomkövetését, a kivétel nevét és egyéb hasznos leírásokat
- 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.