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.