Обработка исключений в Selenium Веб-драйвер (типы)
Что такое исключения?
An исключение это ошибка, возникающая во время выполнения программы. Однако при запуске программы языки программирования генерируют исключение, которое следует обработать, чтобы избежать сбоя вашей программы.
Исключение указывает на то, что, хотя событие может произойти, события такого типа происходят нечасто. Когда метод не может обработать исключение, оно передается вызывающей функции.
Типы исключений в Selenium Вебдрайвер
1. Элементнотвидиблисключение: Этот тип Selenium Исключение возникает, когда существующий элемент в DOM имеет скрытую функцию.
2. Элементнотселектаблеисключение: Эти Selenium Исключение возникает, когда элемент представлен в DOM, но вы можете выбрать. Поэтому взаимодействие невозможно.
3. Исключение НоСучЭлемент: Это исключение возникает, если элемент не найден.
4. Исключение NoSuchFrameException: Это исключение возникает, если целевой кадр, на который нужно переключиться, не существует.
5. NoAlertPresentException: Это исключение возникает, когда вы переключаетесь на отсутствие оповещения.
6. Исключение NoSuchWindowException: Это исключение возникает, если целевой объект окна, который необходимо переключить, не существует.
7. Исключение StaleElementReferenceException: Эти Selenium Исключение возникает, когда веб-элемент отсоединяется от текущего DOM.
8. SessionNotFoundException: WebDriver действует после выхода из браузера.
9. Исключение таймаута: Вызывается, когда для выполнения команды недостаточно времени. Например, искомый элемент не был найден за указанное время.
10. Исключение ВебДрайвера: Это исключение возникает, когда WebDriver действует сразу после закрытия браузера.
11. ConnectionClosedException: Исключение этого типа возникает при отключении драйвера.
12. ЭлементКликИнтерцептедИсключение: Команда может быть невыполнена, поскольку элемент, получающий события, скрывает элемент, по которому был запрошен щелчок.
13. Элементнотинтерактаблеисключение: Эти Selenium Исключение выдается, когда какой-либо элемент представлен в DOM. Однако взаимодействовать с таким элементом невозможно.
14. Исключение ErrorInResponse: Это происходит при взаимодействии с Firefox расширение или удаленный сервер драйверов.
15. ErrorHandler.UnknownServerException: Исключение используется в качестве заполнителя в случае, если сервер возвращает ошибку без трассировки стека.
16. Исключение ImeActivationFailedException: Это ожидание произойдет, если активация механизма IME не удалась.
17. Исключение ИменотАваилабле: Это происходит, когда поддержка IME недоступна.
18. Исключение InsecureCertificateException: Навигация заставила пользовательский агент выдать предупреждение о сертификате. Это может быть вызвано недействительным или истекшим сроком действия сертификата TLS.
19. Исключение ИнвалидАргумент: Это происходит, когда аргумент не принадлежит ожидаемому типу.
20. Исключение Инвалидкукидомен: Это происходит, когда вы пытаетесь добавить файл cookie в другой домен вместо текущего URL-адреса.
21. Исключение InvalidCoordinatesException: Этот тип исключения соответствует недопустимой взаимодействующей операции.
22. Исключение ИнвалидЭлементСтате: Это происходит, когда команду невозможно завершить, если элемент недействителен.
23. Исключение Инвалидсессионид: Это исключение возникло, когда данный идентификатор сеанса не включен в список активных сеансов. Это означает, что сессия не существует или неактивна.
24. ИнвалидСвитчТоTargetисключение: Это происходит, когда целевой кадр или окно, которое необходимо переключить, не существует.
25. Воспользуйтесь функционалом Javascriptисключение: Эта проблема возникает при выполнении JavaСкрипт, предоставленный пользователем.
26. Исключение Json: Это происходит, когда вы позволяете получить сеанс, когда сеанс не создан.
27. NoSuchAttributeException: Исключение такого типа возникает, когда атрибут элемента не найден.
28. ПереместитьTargetИсключение OutOfBoundsException: Это происходит, если цель, указанная в методологии move() ActionChains, недействительна. Например, из документа.
29. NoSuchContextException: ContextAware проводит тестирование мобильных устройств.
30. NoSuchCookieException: Это исключение возникает, когда для всех связанных файлов cookie текущего просматриваемого документа не обнаружено файлов cookie, соответствующих заданному пути.
31. NotFoundException: Это исключение является подклассом WebDriverException. Это произойдет, если элемент в DOM не существует.
32. Исключение RemoteDriverServer: Эти Selenium Исключение выдается, когда сервер не отвечает из-за проблемы, связанной с неправильными описанными возможностями.
33. Исключение скриншота: Невозможно сделать снимок экрана.
34. SessionNotCreatedException: Это происходит, когда не удалось успешно создать новый сеанс.
35. UnableToSetCookieException: Это происходит, если драйвер не может установить файл cookie.
36. НеожиданноеTagNameException: Происходит, если класс поддержки не получил ожидаемый веб-элемент.
37. Исключение UnhandledAlertException: Это ожидание возникает, когда есть предупреждение, но WebDriver не может выполнить операцию предупреждения.
38. НеожиданноеAlertPresentException: Это происходит при появлении неожиданного предупреждения.
39. НеизвестныйМетодИсключение: Это исключение возникает, когда запрошенная команда соответствует известному URL-адресу, но не соответствует методологии для определенного URL-адреса.
40. Исключение UnreachableBrowserException: Это исключение возникает только в том случае, если по какой-либо причине браузер не открывается или происходит сбой.
41. Исключение НеподдерживаемойКоманды: Это происходит, когда удаленный WebDriver не отправляет допустимые команды должным образом.
Как обрабатывать исключения в Selenium
Вот некоторые важные стандарты, с помощью которых вы можете обрабатывать исключения в Selenium Вебдрайвер:
Шаг 1) Попробуйте-поймайте
Этот метод может перехватывать исключения, в котором используется комбинация ключевых слов try и catch. Команда Try указывает на начало блока, а Привлекайте помещается в конец блока try, что помогает разрешить исключение.
try { // Code } catch (Exception e) { // Code for Handling exception }
Шаг 2) Несколько блоков catch
Существуют различные типы исключений, и в одном блоке кода можно ожидать более одного исключения. Множественные перехваты помогут вам обрабатывать каждый тип исключений отдельно с помощью отдельного блока кода. Его можно использовать для более чем двух блоков catch, и количество блоков catch не ограничено.
try { //Code } catch (ExceptionType1 e1) { //Code for Handling Exception 1 } catch (ExceptionType2 e2) { //Code for Handling Exception 2 }
Шаг 3) Бросок
Если вы хотите сгенерировать исключение, ключевое слово Throw используется для создания исключения и его обработки во время выполнения. Когда вы генерируете исключение, не обрабатывая его, необходимо использовать ключевое слово 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); } }
Шаг 4) Несколько исключений
Вы можете упомянуть различные исключения в разделе throws.
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 }
Шаг 5) Наконец
Ключевое слово Final используется для создания блока кода под блоком try. Это окончательный код, который помогает вам выполняться независимо от возникновения исключения.
try { //Code } catch (ExceptionType1 e1) { //Catch block } catch (ExceptionType2 e2) { //Catch block } catch (ExceptionType3 e3) { //Catch block } finally { //The finally block always executes. }
Методы отображения исключений
Для отображения информации об исключениях можно также использовать следующие методы:
- printStackTrace (): эта функция печатает трассировку стека, имя исключения и другое полезное описание.
- нанизывать(): эта функция возвращает текстовое сообщение с именем и описанием исключения.
- GetMessage (): помогает отобразить описание исключения.
Резюме
- Исключением является ошибка, возникающая во время выполнения программы.
- Try-catch: этот метод может перехватывать исключения, в котором используется комбинация ключевых слов try и catch.
- Множественные перехваты помогут вам обрабатывать каждый тип исключений отдельно с помощью отдельного блока кода.
- Ключевое слово Throw используется для создания исключения и его обработки во время выполнения.
- printStackTrace(): эта функция печатает трассировку стека, имя исключения и другое полезное описание.
- toString(): эта функция возвращает текстовое сообщение с именем и описанием исключения.
- getMessage(): помогает отобразить описание исключения.