Zpracování výjimek selenem (seznam běžných výjimek)

Obsah:

Anonim

Co jsou to výjimky?

Výjimkou je chyba, co se děje 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 nedošlo k selhání programu.

Výjimka označuje, že i když 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 na její funkci volajícího. Nakonec, když je výjimka vyhozena z hlavní funkce, program je náhle ukončen.

V tomto výukovém programu se naučíte:

  • Co jsou to výjimky?
  • Výjimky v ovladači Selenium Web
  • Zpracování výjimek selenu
  • Metody pro zobrazení výjimky

Běžné výjimky v selenovém webovém ovladači

Název výjimky Popis
ElementNotVisibleException K tomuto typu výjimky selenu dochází, když má existující prvek v DOMu funkci nastavenou jako skrytou.
ElementNotSelectableException K této selenové výjimce dochází, když je prvek prezentován v DOM, ale můžete si vybrat. Proto není možné komunikovat.
NoSuchElementException K této výjimce dochází, pokud prvek nelze najít.
NoSuchFrameException K této výjimce dochází, pokud cíl rámce, na který se má přepnout, neexistuje.
NoAlertPresentException K této výjimce dojde, když přepnete na žádné předložené upozornění.
NoSuchWindowException K této výjimce dochází, pokud cíl okna, který má být přepnut, neexistuje.
StaleElementReferenceException K této výjimce selenu dochází, když je webový prvek odpojen od aktuálního DOM.
SessionNotFoundException Po ukončení prohlížeče WebDriver jedná.
TimeoutException Vyhozeno, když není dostatek času na dokončení příkazu. Například hledaný prvek nebyl v zadaném čase nalezen.
WebDriverException K této výjimce dochází, když WebDriver jedná hned po zavření prohlížeče.
ConnectionClosedException K tomuto typu výjimky dochází, když dojde k odpojení ovladače.
ElementClickInterceptedException Příkaz nemusí být dokončen, protože prvek přijímající události skrývá prvek, na který bylo kliknuto.
ElementNotInteractableException Tato výjimka selenu je vyvolána, když je v DOM uveden jakýkoli prvek. Je však nemožné s takovým prvkem interagovat.
ErrorInResponseException K tomu dochází při interakci s příponou Firefox nebo se serverem vzdáleného ovladače.
ErrorHandler.UnknownServerException Výjimka se používá jako zástupný symbol v případě, že server vrátí chybu bez trasování zásobníku.
ImeActivationFailedException Toto očekávání nastane, když selhala aktivace motoru IME.
ImeNotAvailableException Probíhá, když podpora IME není k dispozici.
InsecureCertificateException Navigace způsobila, že uživatelský agent narazil na varování certifikátu. To může způsobit neplatný nebo prošlý certifikát TLS.
InvalidArgumentException Nastane, když argument nepatří očekávanému typu.
InvalidCookieDomainException K tomu dochází, když se pokusíte přidat soubor cookie pod jinou doménou místo aktuální adresy URL.
InvalidCoordinatesException Tento typ výjimky odpovídá interagující operaci, která není platná.
InvalidElementStateExceptio Dochází k němu, když nelze dokončit příkaz, když je prvek neplatný.
InvalidSessionIdException K této výjimce došlo, když dané ID relace není zahrnuto v seznamu aktivních relací. To znamená, že relace neexistuje nebo je buď neaktivní.
InvalidSwitchToTargetException K tomu dochází, když cíl rámce nebo okna, který má být přepnut, neexistuje.
JavascriptException K tomuto problému dochází při provádění JavaScriptu zadaného uživatelem.
JsonException Nastává, když si dovolíte získat relaci, když relace není vytvořena.
NoSuchAttributeException K tomuto druhu výjimky dochází, když nelze najít atribut prvku.
MoveTargetOutOfBoundsException Probíhá, pokud cíl poskytnutý metodice ActionChains move () není platný. Například mimo dokument.
NoSuchContextException ContextAware provádí testování mobilních zařízení.
NoSuchCookieException K této výjimce dochází, když pro všechny přidružené soubory cookie aktuálně procházeného dokumentu nebyl nalezen žádný soubor cookie odpovídající danému názvu cesty.
NotFoundException Tato výjimka je podtřídou WebDriverException. K tomu dojde, když prvek v DOM neexistuje.
RemoteDriverServerException Tato výjimka selenu je vyvolána, když server neodpovídá kvůli problému, že popsané funkce nejsou správné.
ScreenshotException Nelze zachytit obrazovku.
SessionNotCreatedException Stává se to, když nelze úspěšně vytvořit novou relaci.
UnableToSetCookieException K tomu dochází, pokud ovladač nemůže nastavit soubor cookie.
UnexpectedTagNameException Stane se, pokud třída podpory nezískala webový prvek podle očekávání.
UnhandledAlertException K tomuto očekávání dochází, když existuje výstraha, ale WebDriver není schopen provést operaci výstrahy.
UnexpectedAlertPresentException Nastane, když se objeví neočekávané upozornění.
UnknownMethodException K této výjimce dochází, když se požadovaný příkaz shoduje se známou adresou URL, ale neodpovídá metodice pro konkrétní adresu URL.
UnreachableBrowserException K této výjimce dochází pouze v případě, že prohlížeč z nějakého důvodu nelze otevřít nebo selhat.
UnsupportedCommandException K tomu dochází, když vzdálený WebDriver neposílá platné příkazy podle očekávání.

Zpracování výjimek selenu

Zde je několik důležitých standardů, pomocí kterých můžete zpracovávat výjimky v selenovém WebDriveru:

Try-catch : Tato metoda může zachytit výjimky, které používají kombinaci klíčových slov try and catch. Příkaz Try označuje začátek bloku a Catch je umístěn na konec bloku try, což pomáhá vyřešit výjimku.

Snaž se{// Kód} úlovek (výjimka e) {// Kód pro zpracování výjimky}
  • Více bloků úlovku : Existují různé typy výjimek a od jednoho bloku kódu můžete očekávat více než jednu výjimku. Více úlovků vám pomůže zvládnout každý typ výjimky samostatně pomocí samostatného bloku kódu. Lze jej použít pro více než dva bloky úlovků a počet bloků úlovku není nijak omezen.
Snaž se{//Kód} chytit (ExceptionType1 e1) {// Kód pro zpracování výjimky 1} chytit (ExceptionType2 e2) {// Kód pro zpracování výjimky 2}
  • Throw : Pokud chcete vygenerovat výjimku, Throw klíčové slovo se používá k vyvolání výjimky, aby se s ní za běhu zacházelo. Když vyvoláváte výjimku, aniž byste ji zpracovali, musí použít klíčové slovo Throw.
public static void anyFunction () vyvolá výjimku {Snaž se {// zde napište svůj kód} Úlovek (výjimka b) {// Dělejte, co chcete hrát// Vraťte výjimku zpět do systémuhod (b);}}
  • Více výjimek : V klauzuli throws můžete uvést různé výjimky.
public static void anyFunction () hodí ExceptionType1, ExceptionType2 {Snaž se {// zde napište svůj kód} chytit (ExceptionType1 e1) {// Kód pro zpracování výjimky 1} chytit (ExceptionType1 e2) {// Kód pro zpracování výjimky 2}
  • Nakonec : Klíčové slovo Final se používá k vytvoření bloku kódu v bloku try. Jedná se o konečný kód, který vám pomůže provést bez ohledu na výskyt výjimky
Snaž se {//Kód} chytit (ExceptionType1 e1) {// Chytit blok} chytit (ExceptionType2 e2) {// Chytit blok} chytit (ExceptionType3 e3) {// Chytit blok} Konečně {// Konečný blok se vždy provede.}

Metody pro zobrazení výjimky

K zobrazení informací o výjimce můžete také použít následující metody:

  • printStackTrace () : Tato funkce vytiskne trasování zásobníku, 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.

Souhrn:

  • Výjimkou je chyba, ke které dojde v době provádění programu.
  • Try-catch: Tato metoda může zachytit výjimky, které používají kombinaci klíčových slov try and catch.
  • Více úlovků vám pomůže 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 za účelem jeho zpracování v době běhu.
  • printStackTrace (): Tato funkce vytiskne trasování zásobníku, 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.