Zaobchádzanie so selénom (zoznam bežných výnimiek)

Obsah:

Anonim

Čo sú to výnimky?

Výnimkou je chyba, čo sa deje v čase vykonávania programu. Počas spustenia programu však programovacie jazyky generujú výnimku, ktorú je potrebné spracovať, aby nedošlo k zlyhaniu programu.

Výnimka naznačuje, že aj keď k udalosti môže dôjsť, tento typ udalosti sa stane zriedka. Keď metóda nie je schopná spracovať výnimku, vrhne sa na svoju funkciu volajúceho. Nakoniec, keď dôjde k vyhodeniu výnimky z hlavnej funkcie, program sa náhle ukončí.

V tomto návode sa dozviete:

  • Čo sú to výnimky?
  • Výnimky v ovládači selénu Web
  • Zaobchádzanie s výnimkami selénu
  • Metódy zobrazenia výnimky

Bežné výnimky v ovládači selénu Web

Názov výnimky Popis
ElementNotVisibleException Tento typ výnimky selénu nastáva, keď má existujúci prvok v DOM nastavenú funkciu skrytú.
ElementNotSelectableException Táto výnimka selénu nastáva, keď je prvok prezentovaný v DOM, ale môžete si vybrať. Preto nie je možné interagovať.
NoSuchElementException Táto výnimka nastane, ak sa nepodarilo nájsť prvok.
NoSuchFrameException Táto výnimka nastane, ak cieľ rámca, na ktorý sa má prepnúť, neexistuje.
NoAlertPresentException Táto výnimka nastane, keď prepnete na žiadne predložené varovanie.
NoSuchWindowException Táto výnimka nastane, ak cieľ okna, ktorý sa má prepnúť, neexistuje.
StaleElementReferenceException K tejto výnimke selénu dochádza, keď je webový prvok odpojený od aktuálneho modelu DOM.
SessionNotFoundException WebDriver koná po ukončení prehliadača.
Výnimka časového limitu Vyhodené, keď nie je dostatok času na dokončenie príkazu. Napríklad hľadaný prvok nebol nájdený v zadanom čase.
WebDriverException Táto výnimka nastáva, keď WebDriver koná ihneď po zatvorení prehľadávača.
ConnectionClosedException Tento typ výnimky sa vyskytuje, keď dôjde k odpojeniu vodiča.
ElementClickInterceptedException Príkaz sa nemusí dať dokončiť, pretože prvok prijímajúci udalosti zakrýva prvok, na ktorý sa kliklo.
ElementNotInteractableException Táto výnimka selénu sa vyvolá, keď sa v DOM zobrazí akýkoľvek prvok. Nie je však možné s takýmto prvkom interagovať.
ErrorInResponseException Stáva sa to pri interakcii s rozšírením Firefox alebo so serverom vzdialeného ovládača.
ErrorHandler.UnknownServerException Výnimka sa používa ako zástupný symbol v prípade, že server vráti chybu bez sledovania zásobníka.
ImeActivationFailedException Toto očakávanie nastane, keď zlyhala aktivácia motora IME.
ImeNotAvailableException Prebieha, keď podpora IME nie je k dispozícii.
InsecureCertificateException Navigácia prinútila agenta používateľa naraziť na varovanie certifikátu. Môže to spôsobiť neplatný alebo vypršaný certifikát TLS.
InvalidArgumentException Vyskytuje sa, keď argument nepatrí do očakávaného typu.
InvalidCookieDomainException To sa stane, keď sa pokúsite pridať súbor cookie pod inú doménu namiesto aktuálnej adresy URL.
InvalidCoordinatesException Tento typ výnimky sa zhoduje s interagujúcou operáciou, ktorá je neplatná.
InvalidElementStateExceptio Vyskytuje sa, keď nemožno dokončiť príkaz, keď je prvok neplatný.
InvalidSessionIdException K tejto výnimke došlo, keď dané ID relácie nie je zahrnuté v zozname aktívnych relácií. Znamená to, že relácia neexistuje alebo je neaktívna.
InvalidSwitchToTargetException K tomu dôjde, keď cieľ alebo rám okna, ktorý sa má prepnúť, neexistuje.
JavascriptException Tento problém nastáva pri vykonávaní JavaScriptu zadaného používateľom.
JsonException Nastáva, keď si dovolíte získať reláciu, keď relácia nie je vytvorená.
NoSuchAttributeException Tento druh výnimky nastáva, keď sa nepodarilo nájsť atribút prvku.
MoveTargetOutOfBoundsException Prebieha, ak cieľ poskytnutý metodológii ActionChains move () nie je platný. Napríklad z dokumentu.
NoSuchContextException Spoločnosť ContextAware vykonáva testovanie mobilných zariadení.
NoSuchCookieException Táto výnimka nastane, keď sa pre všetky súvisiace súbory cookie dokumentu, ktorý je momentálne prehliadaný, nenájde žiadny súbor cookie zodpovedajúci danému názvu cesty.
NotFoundException Táto výnimka je podtriedou WebDriverException. K tomu dôjde, keď prvok v DOM neexistuje.
RemoteDriverServerException Táto výnimka selénu sa vyvolá, keď server nereaguje z dôvodu problému, že opísané schopnosti nie sú správne.
ScreenshotException Nie je možné nasnímať obrazovku.
SessionNotCreatedException Stáva sa to, keď sa nepodarilo úspešne vytvoriť novú reláciu.
UnableToSetCookieException K tomu dôjde, ak vodič nedokáže nastaviť súbor cookie.
UnexpectedTagNameException Stane sa, ak trieda podpory nezískala webový prvok podľa očakávania.
UnhandledAlertException Toto očakávanie sa vyskytuje, keď existuje výstraha, ale WebDriver nie je schopný vykonať operáciu výstrahy.
UnexpectedAlertPresentException Nastáva, keď sa objaví neočakávané upozornenie.
UnknownMethodException Táto výnimka sa stane, keď sa požadovaný príkaz zhoduje so známou adresou URL, ale nezhoduje sa s metodikou pre konkrétnu adresu URL.
UnreachableBrowserException Táto výnimka sa vyskytuje, iba ak z nejakého dôvodu nemožno prehliadač otvoriť alebo zlyhať.
UnsupportedCommandException K tomu dôjde, keď vzdialený WebDriver neodošle platné príkazy podľa očakávania.

Zaobchádzanie s výnimkami selénu

Tu je niekoľko dôležitých štandardov, pomocou ktorých môžete zvládnuť výnimky v selenovom webovom ovládači:

Try-catch : Táto metóda dokáže zachytiť výnimky, ktorá využíva kombináciu kľúčových slov try and catch. Príkaz Try označuje začiatok bloku a Catch je umiestnený na konci bloku try, čo pomáha vyriešiť výnimku.

skús{// Kód} úlovok (výnimka e) {// Kód na spracovanie výnimky}
  • Viac blokov úlovku : Existuje niekoľko typov výnimiek a od jedného bloku kódu môžete očakávať viac ako jednu výnimku. Viaceré úlovky vám pomôžu zvládnuť každý typ výnimky osobitne pomocou samostatného bloku kódu. Môže byť použitý pre viac ako dva bloky úlovkov a počet blokov úlovkov nie je nijako obmedzený.
skús{// Kód} chytit (ExceptionType1 e1) {// Kód pre spracovanie výnimky 1} chytit (ExceptionType2 e2) {// Kód na spracovanie výnimky 2}
  • Vyhodiť : Ak chcete vygenerovať Výnimku, kľúčové slovo Vyhodiť sa použije na vyvolanie výnimky, aby sa s ňou za behu hralo. Ak vrháte výnimku bez toho, aby ste ju spracovali, musí použiť kľúčové slovo Throw.
public static void anyFunction () vyvolá výnimku {skúsiť {// sem napíš svoj kód} Úlovok (výnimka b) {// Robte čokoľvek chcete// Vráťte výnimku späť do systémuhod (b);}}
  • Viaceré výnimky : V klauzule throws môžete spomenúť rôzne výnimky.
public static void anyFunction () hodí ExceptionType1, ExceptionType2 {skúsiť {// sem napíš svoj kód} chytit (ExceptionType1 e1) {// Kód na spracovanie výnimky 1} chytit (ExceptionType1 e2) {// Kód na spracovanie výnimky 2}
  • Nakoniec : Kľúčové slovo Final sa používa na vytvorenie bloku kódu v bloku try. Je to konečný kód, ktorý vám pomôže vykonať bez ohľadu na výskyt výnimky
skúsiť {// Kód} chytit (ExceptionType1 e1) {// Blok úlovkov} chytit (ExceptionType2 e2) {// Blok úlovkov} chytit (ExceptionType3 e3) {// Blok úlovkov} konečne {// Konečný blok sa vždy vykoná.}

Metódy zobrazenia výnimky

Na zobrazenie informácií o výnimkách môžete použiť aj nasledujúce metódy:

  • printStackTrace () : Táto funkcia vytlačí trasovanie zásobníka, názov výnimky a ďalší užitočný popis.
  • toString () : Táto funkcia vráti textovú správu s popisom názvu a popisu výnimky.
  • getMessage () : Pomáha zobraziť popis výnimky.

Zhrnutie:

  • Výnimkou je chyba, ktorá sa stane v čase vykonania programu.
  • Try-catch: Táto metóda dokáže zachytiť výnimky, ktorá využíva kombináciu kľúčových slov try and catch.
  • Viaceré úlovky vám pomôžu zvládnuť každý typ výnimky osobitne pomocou samostatného bloku kódu.
  • Kľúčové slovo Throw sa používa na vyvolanie výnimky, aby sa s ním manipulovalo za behu.
  • printStackTrace (): Táto funkcia vytlačí trasovanie zásobníka, názov výnimky a ďalší užitočný popis
  • toString (): Táto funkcia vráti textovú správu s popisom názvu a popisu výnimky.
  • getMessage (): Pomáha zobraziť popis výnimky.