Obsługa wyjątków Selenium Sterownik sieciowy (typy)
Co to jest wyjątek?
An wyjątek jest błędem występującym podczas 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 ona zgłaszana do funkcji wywołującej.
Rodzaje wyjątków w Selenium Sterownik internetowy
1. Wyjątek ElementNotVisible: Ten typ Selenium wyjątek występuje, gdy istniejący element w DOM ma funkcję ustawioną jako ukrytą.
2. Wyjątek ElementNotSelectable: To zdjęcie Selenium wyjątek występuje, gdy element jest prezentowany w DOM, ale możesz wybrać. Dlatego nie jest możliwa interakcja.
3. Wyjątek NoSuchElement: Ten wyjątek występuje, jeśli nie można znaleźć elementu.
4. Wyjątek NoSuchFrame: Ten wyjątek występuje, jeśli ramka docelowa, do której ma zostać przełączony, nie istnieje.
5. Wyjątek NoAlertPresentException: Ten wyjątek występuje, gdy przełączysz się na brak prezentowanego alertu.
6. Wyjątek NoSuchWindow: Ten wyjątek występuje, jeśli okno docelowe, które ma zostać przełączone, nie istnieje.
7. Wyjątek StaleElementReferenceException: To zdjęcie Selenium wyjątek ma miejsce, gdy element sieciowy jest odłączony od bieżącego modelu DOM.
8. SessionNotFoundWyjątek: WebDriver działa po zamknięciu przeglądarki.
9. Wyjątek przekroczenia limitu czasu: Zgłaszany, gdy nie ma wystarczającej ilości czasu na wykonanie polecenia. Na przykład, szukany element nie został znaleziony w określonym czasie.
10. Wyjątek WebDriver: Ten wyjątek ma miejsce, gdy WebDriver działa zaraz po zamknięciu przeglądarki.
11. ConnectionClosedException: Ten typ wyjątku ma miejsce w przypadku rozłączenia w sterowniku.
12. Wyjątek ElementClickIntercepted: Polecenie może nie zostać wykonane, ponieważ element odbierający zdarzenia zakrywa element, którego kliknięcie było wymagane.
13. Wyjątek ElementNotInteractable: To zdjęcie Selenium wyjątek jest zgłaszany, gdy jakikolwiek element jest prezentowany w DOM. Nie ma jednak możliwości interakcji z takim elementem.
14. Wyjątek ErrorInResponse: Dzieje się tak podczas interakcji z plikiem Firefox rozszerzenie lub zdalny serwer sterowników.
15. ErrorHandler.UnknownServerException: Wyjątek jest używany jako symbol zastępczy w przypadku, gdy serwer zwróci błąd bez śladu stosu.
16. Wyjątek ImeActivationFailed: To oczekiwanie wystąpi, gdy aktywacja silnika IME nie powiodła się.
17. Wyjątek ImeNotAvailable: Ma to miejsce, gdy obsługa IME jest niedostępna.
18. Wyjątek InsecureCertificate: Nawigacja spowodowała, że agent użytkownika trafił na ostrzeżenie o certyfikacie. Może to być spowodowane nieprawidłowym lub wygasłym certyfikatem TLS.
19. Wyjątek InvalidArgument: Występuje, gdy argument nie należy do oczekiwanego typu.
20. Wyjątek InvalidCookieDomain: Dzieje się tak, gdy próbujesz dodać plik cookie w innej domenie zamiast bieżącego adresu URL.
21. Nieprawidłowy wyjątek Współrzędnych: Ten typ wyjątku odpowiada operacji interaktywnej, która jest nieprawidłowa.
22. Wyjątek InvalidElementStateException: Występuje, gdy nie można zakończyć polecenia, gdy element jest nieprawidłowy.
23. Nieprawidłowy wyjątekSessionIdException: Wyjątek ten miał miejsce w sytuacji, gdy podany identyfikator sesji nie figurował na liście aktywnych sesji. Oznacza to, że sesja nie istnieje lub jest nieaktywna.
24. Nieprawidłowe przełączenie naTargetwyjątek: Dzieje się tak, gdy docelowy element ramki lub okna, który ma zostać przełączony, nie istnieje.
25. Javascriptwyjątek: Ten problem występuje podczas wykonywania JavaSkrypt podany przez użytkownika.
26. JsonWyjątek: Dzieje się tak, gdy stać Cię na uzyskanie sesji, gdy sesja nie jest utworzona.
27. Wyjątek NoSuchAttribute: Ten rodzaj wyjątku występuje, gdy nie można znaleźć atrybutu elementu.
28. Ruszaj sięTargetWyjątek OutOfBounds: Ma to miejsce, jeśli cel podany metodologii move() ActionChains jest nieprawidłowy. Na przykład poza dokumentem.
29. Wyjątek NoSuchContextException: ContextAware testuje urządzenia mobilne.
30. Wyjątek NoSuchCookie: Ten wyjątek ma miejsce, gdy nie znaleziono żadnego pliku cookie odpowiadającego podanej nazwie ścieżki dla wszystkich powiązanych plików cookie aktualnie przeglądanego dokumentu.
31. Not FoundWyjątek: Ten wyjątek jest podklasą wyjątku WebDriverException. Nastąpi to, gdy element w DOM nie istnieje.
32. Wyjątek RemoteDriverServer: To zdjęcie Selenium wyjątek jest zgłaszany, gdy serwer nie odpowiada z powodu problemu polegającego na tym, że opisane możliwości nie są prawidłowe.
33. Zrzut ekranuWyjątek: Nie ma możliwości przechwycenia ekranu.
34. SessionNotCreatedException: Dzieje się tak, gdy nie można pomyślnie utworzyć nowej sesji.
35. Wyjątek UnableToSetCookie: Dzieje się tak, jeśli sterownik nie może ustawić pliku cookie.
36. Nieoczekiwany wyjątekTagName: Dzieje się tak, jeśli klasa wsparcia nie otrzymała elementu sieciowego zgodnie z oczekiwaniami.
37. Nieobsługiwany wyjątek Alert: Oczekiwanie takie ma miejsce, gdy występuje alert, ale WebDriver nie może wykonać operacji alertu.
38. Nieoczekiwany wyjątekAlertPresentException: Występuje w przypadku pojawienia się nieoczekiwanego alertu.
39. Wyjątek UnknownMethod: Ten wyjątek ma miejsce, gdy żądane polecenie pasuje do znanego adresu URL, ale nie pasuje do metodologii dla określonego adresu URL.
40. Wyjątek UnreachableBrowser: Ten wyjątek występuje tylko wtedy, gdy z jakiegoś powodu nie można otworzyć przeglądarki lub ulega ona awarii.
41. Nieobsługiwany wyjątek Command: Dzieje się tak, gdy zdalny sterownik WebDriver nie wysyła prawidłowych poleceń zgodnie z oczekiwaniami.
Jak obsługiwać wyjątki w Selenium
Oto kilka ważnych standardów, za pomocą których można obsługiwać wyjątki Selenium Sterownik sieciowy:
Krok 1) Spróbuj złapać
Ta metoda może przechwytywać wyjątki, które wykorzystują kombinację słów kluczowych try i catch. Komenda Try wskazuje początek bloku, oraz Przyciągaj jest umieszczany na końcu bloku try, co pomaga rozwiązać wyjątek.
try { // Code } catch (Exception e) { // Code for Handling exception }
Krok 2) Wiele bloków catch
Istnieją różne typy wyjątków i można spodziewać się więcej niż jednego wyjątku z pojedynczego bloku kodu. Wiele catchów pomaga obsłużyć każdy typ wyjątku osobno za pomocą osobnego bloku kodu. Można go używać do więcej niż dwóch bloków catch i nie ma ograniczeń co do liczby bloków catch.
try { //Code } catch (ExceptionType1 e1) { //Code for Handling Exception 1 } catch (ExceptionType2 e2) { //Code for Handling Exception 2 }
Krok 3) Rzut
Gdy chcesz wygenerować wyjątek, słowo kluczowe Throw jest używane do rzucania wyjątku, aby obsłużyć go w czasie wykonywania. Gdy rzucasz wyjątek bez obsługiwania go, wtedy muszą użyć słowa kluczowego 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) Wiele wyjątków
Możesz wspomnieć o różnych wyjątkach w klauzuli rzutów.
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) Wreszcie
Słowo kluczowe Final służy do tworzenia bloku kodu pod blokiem try. Jest to ostateczny kod, który pomaga wykonać wykonanie niezależnie od wystąpienia wyjątku
try { //Code } catch (ExceptionType1 e1) { //Catch block } catch (ExceptionType2 e2) { //Catch block } catch (ExceptionType3 e3) { //Catch block } finally { //The finally block always executes. }
Metody wyświetlania wyjątku
Informacje o wyjątku można wyświetlić również za pomocą następujących metod:
- printStackTrace (): Ta funkcja drukuje ślad stosu, nazwę wyjątku i inny przydatny opis.
- 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 występujący w czasie wykonywania programu.
- Try-catch: Ta metoda może przechwytywać wyjątki, które wykorzystują kombinację słów kluczowych try i catch.
- Wiele catchów pomaga obsłużyć każdy typ wyjątku osobno za pomocą osobnego 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 drukuje ślad stosu, nazwę wyjątku i inny przydatny opis
- toString(): Ta funkcja zwraca wiadomość tekstową opisującą nazwę i opis wyjątku.
- getMessage(): Pomaga wyświetlić opis wyjątku.