Zpracování výjimek Selenium Webdriver (typy)

Co je to Výjimka?

An výjimka je chyba, ke které dochází v době provádění programu. Při spuštění programu však programovací jazyky generují výjimku, která by měla být zpracována, aby se zabránilo pádu programu.

Výjimka označuje, že ačkoli k události může dojít, k tomuto typu události dochází zřídka. Když metoda není schopna zpracovat výjimku, je vyvolána její volající funkci.

Typy výjimek v Selenium Webdriver

1. ElementNotVisibleException: Tento typ Selenium výjimka nastane, když existující prvek v DOM má sadu funkcí jako skrytý.

2. ElementNotSellectableException: Toto Selenium výjimka nastane, když je prvek prezentován v DOM, ale můžete si vybrat. Proto není možné interagovat.

3. NoSuchElementException: Tato výjimka nastane, pokud prvek nebyl nalezen.

4. NoSuchFrameException: Tato výjimka nastane, pokud cíl rámce, na který se má přepnout, neexistuje.

5. NoAlertPresentException: Tato výjimka nastane, když přepnete na žádné zobrazené upozornění.

6. NoSuchWindowException: Tato výjimka nastane, pokud cíl okna, který má být přepnut, neexistuje.

7. Výjimka StaleElementReference: Toto Selenium výjimka nastane, když je webový prvek odpojen od aktuálního DOM.

8. SessionNotFoundException: WebDriver funguje po ukončení prohlížeče.

9. Výjimka časového limitu: Vyhozeno, když není dostatek času na dokončení příkazu. Například hledaný prvek nebyl nalezen v určeném čase.

10. Výjimka WebDriver: Tato výjimka nastane, když WebDriver pracuje hned po zavření prohlížeče.

11. ConnectionClosedException: Tento typ výjimky nastane, když dojde k odpojení v ovladači.

12. ElementClickInterceptedException: Příkaz nemusí být dokončen, protože prvek přijímající události skrývá prvek, na který bylo požadováno kliknutí.

13. ElementNotInteractableException: Toto Selenium výjimka je vyvolána, když je v DOM prezentován jakýkoli prvek. S takovým prvkem je však nemožné interagovat.

14. ErrorInResponseException: To se děje při interakci s Firefox rozšíření nebo server vzdáleného ovladače.

15. ErrorHandler.UnknownServerException: Výjimka se používá jako zástupný symbol v případě, že server vrátí chybu bez zásobníku. trace.

16. ImeActivationFailedException: K tomuto očekávání dojde, když se nezdařila aktivace modulu IME.

17. ImeNotAvailableException: Probíhá, když není k dispozici podpora IME.

18. InsecureCertificateException: Navigace přiměla uživatelského agenta, aby zasáhl varování certifikátu. To může být způsobeno neplatným nebo vypršelým certifikátem TLS.

19. InvalidArgumentException: Nastane, když argument nepatří k očekávanému typu.

20. InvalidCookieDomainException: K tomu dochází, když se pokusíte přidat soubor cookie pod jinou doménou namísto aktuální adresy URL.

21. InvalidCoordinatesException: Tento typ výjimky odpovídá interagující operaci, která není platná.

22. InvalidElementStateException: Nastává, když příkaz nelze dokončit, když je prvek neplatný.

23. InvalidSessionIdException: Tato výjimka nastala, když dané ID relace není zahrnuto v seznamu aktivních relací. Znamená to, že relace neexistuje nebo je neaktivní.

24. InvalidSwitchToTargetvýjimka: K tomu dochází, když rámeček nebo cíl okna, který má být přepnut, neexistuje.

25. Javascriptvýjimka: K tomuto problému dochází při provádění JavaSkript zadaný uživatelem.

26. JsonException: Nastane, když si dovolíte získat relaci, když relace není vytvořena.

27. NoSuchAttributeException: K tomuto druhu výjimky dochází, když nelze najít atribut prvku.

28. Přesuňte seTargetOutOfBoundsException: Proběhne, pokud cíl poskytnutý metodě ActionChains move() není platný. Například mimo dokument.

29. NoSuchContextException: ContextAware provádí testování mobilních zařízení.

30. NoSuchCookieException: Tato výjimka nastane, když nebyl nalezen žádný soubor cookie odpovídající danému názvu cesty pro všechny související soubory cookie aktuálně prohlíženého dokumentu.

31. NotFoundException: Tato výjimka je podtřídou WebDriverException. K tomu dojde, když prvek na DOM neexistuje.

32. RemoteDriverServerException: Toto Selenium výjimka je vyvolána, když server neodpovídá kvůli problému, že popsané schopnosti nejsou správné.

33. Výjimka snímku obrazovky: Není možné zachytit obrazovku.

34. SessionNotCreatedException: Stává se to, když se nepodařilo úspěšně vytvořit novou relaci.

35. Výjimka UnableToSetCookie: K tomu dochází, pokud ovladač nemůže nastavit soubor cookie.

36. UnexpectedTagNameException: Stává se, pokud třída podpory nezískala webový prvek podle očekávání.

37. UnhandledAlertException: K tomuto očekávání dochází, když dojde k upozornění, ale WebDriver není schopen provést operaci výstrahy.

38. UnexpectedAlertPresentException: Objevuje se, když se objeví neočekávané upozornění.

39. Neznámá výjimka: Tato výjimka nastane, když se požadovaný příkaz shoduje se známou URL, ale neodpovídá metodologii pro konkrétní URL.

40. UnreachableBrowserException: Tato výjimka se vyskytuje pouze v případě, že prohlížeč nelze z nějakého důvodu otevřít nebo zhavarovat.

41. UnsupportedCommandException: K tomu dochází, když vzdálený WebDriver neodesílá platné příkazy podle očekávání.

Jak zacházet s výjimkami v Selenium

Zde jsou některé důležité standardy, pomocí kterých můžete zpracovávat výjimky Selenium WebDriver:

Krok 1) Zkuste chytit

Tato metoda dokáže zachytit výjimky, která používá kombinaci klíčových slov try a catch. Příkaz Try označuje začátek bloku a zápas je umístěn na konci bloku try, což pomáhá vyřešit výjimku.

try
{
// Code
} catch (Exception e) {
// Code for Handling exception
}

Krok 2) Vícenásobné záchytné bloky

Existují různé typy výjimek a z jednoho bloku kódu můžete očekávat více než jednu výjimku. Vícenásobné záchytky vám pomohou zvládnout každý typ výjimky samostatně pomocí samostatného bloku kódu. Lze jej použít pro více než dva záchytné bloky a počet záchytných bloků není nijak omezen.

try
{
//Code
} catch (ExceptionType1 e1) {
//Code for Handling Exception 1
} catch (ExceptionType2 e2) {
//Code for Handling Exception 2
}

Krok 3) Hodit

Chcete-li vygenerovat výjimku, klíčové slovo Throw se použije k vyvolání výjimky, která ji zpracuje za běhu. Když vyvoláte výjimku, aniž byste ji zpracovali, musí použít klíčové slovo Throw.

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);
}
}

Krok 4) Více výjimek

V klauzuli hodů můžete zmínit různé výjimky.

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
}

Krok 5) Nakonec

Klíčové slovo Final se používá k vytvoření bloku kódu pod blokem try. Je to konečný kód, který vám pomáhá při provádění bez ohledu na výskyt výjimky

try {
//Code
} catch (ExceptionType1 e1) {
//Catch block
} catch (ExceptionType2 e2) {
//Catch block
} catch (ExceptionType3 e3) {
//Catch block
} finally {
//The finally block always executes.
}

Metody pro zobrazení výjimky

Informace o výjimce můžete zobrazit také pomocí následujících metod:

  • printStackTracE()Tato funkce vytiskne zásobník trace, název výjimky a další užitečný popis.
  • toString (): Tato funkce vrací textovou zprávu popisující název a popis výjimky.
  • getMessage(): Pomáhá zobrazit popis výjimky.

Shrnutí

  • Výjimkou je chyba, ke které dojde v době provádění programu.
  • Try-catch: Tato metoda dokáže zachytit výjimky, která používá kombinaci klíčových slov try a catch.
  • Vícenásobné záchytky vám pomohou zvládnout každý typ výjimky samostatně pomocí samostatného bloku kódu.
  • Klíčové slovo Throw se používá k vyvolání výjimky, která ji zpracuje za běhu.
  • printStackTrace(): Tato funkce vypíše zásobník trace, název výjimky a další užitečný popis
  • toString(): Tato funkce vrací textovou zprávu popisující název a popis výjimky.
  • getMessage(): Pomáhá zobrazit popis výjimky.

Shrňte tento příspěvek takto: