Obsługa wyjątków selenu (lista wspólnych wyjątków)

Co to są wyjątki?

Wyjątkiem jest błąd, co dzieje się w czasie wykonywania programu. Jednak podczas uruchamiania programu języki programowania generują wyjątek, który należy obsłużyć, aby uniknąć awarii programu.

Wyjątek wskazuje, że chociaż zdarzenie może wystąpić, tego typu zdarzenie zdarza się rzadko. Gdy metoda nie jest w stanie obsłużyć wyjątku, jest zgłaszana do funkcji wywołującej. Ostatecznie, gdy wyjątek jest wyrzucany z funkcji głównej, program jest nagle przerywany.

W tym samouczku dowiesz się:

  • Co to są wyjątki?
  • Wyjątki w sterowniku Selenium Web
  • Obsługa wyjątków selenu
  • Metody wyświetlania wyjątku

Typowe wyjątki w sterowniku Selenium Web

Nazwa wyjątku Opis
ElementNotVisibleException Ten typ wyjątku Selenium występuje, gdy istniejący element w DOM ma funkcję ustawioną jako ukrytą.
ElementNotSelectableException Ten wyjątek selenu występuje, gdy element jest prezentowany w DOM, ale możesz wybrać. Dlatego nie ma możliwości interakcji.
NoSuchElementException Ten wyjątek występuje, jeśli nie można znaleźć elementu.
NoSuchFrameException Ten wyjątek występuje, jeśli cel ramki, na który ma zostać przełączona, nie istnieje.
NoAlertPresentException Ten wyjątek występuje, gdy przełączysz się na brak prezentowanego alertu.
NoSuchWindowException Ten wyjątek występuje, jeśli cel okna, który ma zostać przełączony, nie istnieje.
StaleElementReferenceException Ten wyjątek Selenium występuje, gdy element sieciowy jest odłączany od bieżącego DOM.
SessionNotFoundException WebDriver działa po zamknięciu przeglądarki.
TimeoutException Rzucane, gdy nie ma czasu na wykonanie polecenia. Na przykład szukany element nie został znaleziony w określonym czasie.
WebDriverException Ten wyjątek ma miejsce, gdy WebDriver działa zaraz po zamknięciu przeglądarki.
ConnectionClosedException Ten typ wyjątku ma miejsce, gdy występuje rozłączenie w sterowniku.
ElementClickInterceptedException Polecenie może nie zostać wykonane, ponieważ element odbierający zdarzenia zasłania żądany element, który został kliknięty.
ElementNotInteractableException Ten wyjątek selenu jest generowany, gdy jakikolwiek element jest prezentowany w DOM. Jednak interakcja z takim elementem jest niemożliwa.
ErrorInResponseException Dzieje się tak podczas interakcji z rozszerzeniem Firefox lub zdalnym serwerem sterownika.
ErrorHandler.UnknownServerException Wyjątek jest używany jako symbol zastępczy w przypadku, gdy serwer zwraca błąd bez śladu stosu.
ImeActivationFailedException To oczekiwanie pojawi się, gdy aktywacja silnika IME nie powiedzie się.
ImeNotAvailableException Ma to miejsce, gdy obsługa IME jest niedostępna.
InsecureCertificateException Nawigacja sprawiła, że ​​agent użytkownika wyświetlił ostrzeżenie dotyczące certyfikatu. Może to być spowodowane nieprawidłowym lub wygasłym certyfikatem TLS.
InvalidArgumentException Występuje, gdy argument nie należy do oczekiwanego typu.
InvalidCookieDomainException Dzieje się tak, gdy próbujesz dodać plik cookie w innej domenie zamiast bieżącego adresu URL.
InvalidCoordinatesException Ten typ wyjątku pasuje do operacji interakcji, która jest nieprawidłowa.
InvalidElementStateExceptio Występuje, gdy polecenie nie może zostać zakończone, gdy element jest nieprawidłowy.
InvalidSessionIdException Ten wyjątek miał miejsce, gdy podany identyfikator sesji nie znajduje się na liście aktywnych sesji. Oznacza to, że sesja nie istnieje lub jest nieaktywna.
InvalidSwitchToTargetException Dzieje się tak, gdy nie istnieje docelowa ramka lub okno do przełączenia.
JavascriptException Ten problem występuje podczas wykonywania kodu JavaScript podanego przez użytkownika.
JsonException Występuje, gdy możesz pozwolić sobie na sesję, gdy sesja nie została utworzona.
NoSuchAttributeException Ten rodzaj wyjątku występuje, gdy nie można znaleźć atrybutu elementu.
MoveTargetOutOfBoundsException Ma to miejsce, jeśli obiekt docelowy dostarczony do metodologii move () ActionChains jest nieprawidłowy. Na przykład poza dokumentem.
NoSuchContextException ContextAware przeprowadza testy urządzeń mobilnych.
NoSuchCookieException Ten wyjątek występuje, gdy nie znaleziono pliku cookie pasującego do podanej ścieżki dla wszystkich powiązanych plików cookie aktualnie przeglądanego dokumentu.
NotFoundException Ten wyjątek jest podklasą WebDriverException. Dzieje się tak, gdy element w DOM nie istnieje.
RemoteDriverServerException Ten wyjątek Selenium jest generowany, gdy serwer nie odpowiada z powodu problemu, że opisane możliwości są nieprawidłowe.
ScreenshotException Nie można przechwycić ekranu.
SessionNotCreatedException Dzieje się tak, gdy nie można pomyślnie utworzyć nowej sesji.
UnableToSetCookieException Dzieje się tak, jeśli sterownik nie może ustawić pliku cookie.
Nieoczekiwany wyjątekTagNameException Dzieje się, jeśli klasa pomocnicza nie otrzymała elementu WWW zgodnie z oczekiwaniami.
UnhandledAlertException To oczekiwanie występuje, gdy występuje alert, ale program WebDriver nie jest w stanie wykonać operacji alertu.
NieoczekiwanyAlertPresentException Występuje, gdy pojawia się nieoczekiwany alert.
UnknownMethodException Ten wyjątek występuje, gdy żądane polecenie pasuje do znanego adresu URL, ale nie jest zgodne z metodologią dla określonego adresu URL.
UnreachableBrowserException Ten wyjątek występuje tylko wtedy, gdy z jakiegoś powodu nie można otworzyć lub zawiesić przeglądarki.
UnsupportedCommandException Dzieje się tak, gdy zdalny sterownik WebDriver nie wysyła prawidłowych poleceń zgodnie z oczekiwaniami.

Obsługa wyjątków selenu

Oto kilka ważnych standardów, za pomocą których można obsługiwać wyjątki w Selenium WebDriver:

Try-catch : ta metoda może przechwytywać wyjątki, które wykorzystują kombinację słów kluczowych try i catch. Polecenie Try wskazuje początek bloku, a Catch jest umieszczane na końcu bloku try, co pomaga rozwiązać Wyjątek.

próbować{// Kod} catch (wyjątek e) {// Kod obsługi wyjątku}
  • Wiele bloków catch : istnieją różne typy wyjątków i możesz oczekiwać więcej niż jednego wyjątku od pojedynczego bloku kodu. Wielokrotne przechwytywanie pomaga w obsłudze każdego typu wyjątków osobno za pomocą oddzielnego bloku kodu. Może być używany dla więcej niż dwóch bloków catch i nie ma ograniczenia liczby bloków catch.
próbować{//Kod} catch (ExceptionType1 e1) {// Kod obsługi wyjątku 1} catch (ExceptionType2 e2) {// Kod obsługi wyjątku 2}
  • Throw : Gdy chcesz wygenerować wyjątek, słowo kluczowe Throw jest używane do zgłaszania wyjątku, aby obsłużyć go w czasie wykonywania. Kiedy rzucasz wyjątek bez jego obsługi, muszą użyć słowa kluczowego Throw.
public static void anyFunction () zgłasza wyjątek {próbować {// napisz swój kod tutaj} Połów (wyjątek b) {// Rób wszystko, co chcesz// Wrzuć wyjątek z powrotem do systemurzut (b);}}
  • Wiele wyjątków : możesz wspomnieć o różnych wyjątkach w klauzuli throws.
public static void anyFunction () rzuca ExceptionType1, ExceptionType2 {próbować {// napisz swój kod tutaj} catch (ExceptionType1 e1) {// Kod do obsługi wyjątku 1} catch (ExceptionType1 e2) {// Kod do obsługi wyjątku 2}
  • Wreszcie : słowo kluczowe Final służy do tworzenia bloku kodu pod blokiem try. Jest to ostatni kod, który pomoże Ci wykonać się niezależnie od wystąpienia wyjątku
próbować {//Kod} catch (ExceptionType1 e1) {// Złap blok} catch (ExceptionType2 e2) {// Złap blok} catch (ExceptionType3 e3) {// Złap blok} Wreszcie {// Ostatni blok jest zawsze wykonywany.}

Metody wyświetlania wyjątku

Możesz również użyć następujących metod, aby wyświetlić informacje o wyjątku:

  • printStackTrace () : Ta funkcja wyświetla ślad stosu, nazwę wyjątku i inne przydatne opisy.
  • toString () : Ta funkcja zwraca wiadomość tekstową opisującą nazwę i opis wyjątku.
  • getMessage () : pomaga wyświetlić opis wyjątku.

Podsumowanie:

  • Wyjątkiem jest błąd, który występuje w czasie wykonywania programu.
  • Try-catch: ta metoda może przechwytywać wyjątki, które wykorzystują kombinację słów kluczowych try i catch.
  • Wielokrotne przechwytywanie pomaga w obsłudze każdego typu wyjątków osobno za pomocą oddzielnego bloku kodu.
  • Słowo kluczowe Throw służy do zgłaszania wyjątku w celu obsługi go w czasie wykonywania.
  • printStackTrace (): Ta funkcja wyświetla ślad stosu, nazwę wyjątku i inne przydatne opisy
  • toString (): Ta funkcja zwraca wiadomość tekstową opisującą nazwę i opis wyjątku.
  • getMessage (): pomaga wyświetlić opis wyjątku.

Interesujące artykuły...