Обробка винятків селену (Список загальних винятків)

Зміст:

Anonim

Що таке винятки?

Винятком є помилкою , яка відбувається під час виконання програми. Однак під час запуску програми мови програмування генерують виняток, який слід обробляти, щоб уникнути збою програми.

Виняток вказує на те, що, хоча подія може відбутися, подія такого типу трапляється нечасто. Коли метод не може обробити виняток, він переходить до функції виклику. Зрештою, коли виняток виключається з основної функції, програма різко припиняється.

У цьому підручнику ви дізнаєтесь:

  • Що таке винятки?
  • Винятки у веб-драйвері Selenium
  • Обробка винятків із селеном
  • Методи відображення винятків

Поширені винятки у веб-драйвері Selenium

Назва винятку Опис
ElementNotVisibleException Цей тип винятку селену виникає, коли існуючий елемент у DOM має набір функцій як прихований.
ElementNotSelectableException Цей виняток Selenium відбувається, коли елемент представлений у DOM, але ви можете вибрати. Тому взаємодіяти неможливо.
NoSuchElementException Цей виняток виникає, якщо елемент не вдалося знайти.
NoSuchFrameException Цей виняток виникає, якщо ціль кадру, на яку потрібно переключитися, не існує.
NoAlertPresentException Цей виняток виникає, коли ви перемикаєтесь на відсутність представленого сповіщення.
NoSuchWindowException Цей виняток виникає, якщо цільове вікно, яке потрібно переключити, не існує.
StaleElementReferenceException Цей виняток Selenium відбувається, коли веб-елемент від'єднано від поточного DOM.
SessionNotFoundException WebDriver діє після виходу з браузера.
TimeoutException Кидають, коли для виконання команди недостатньо часу. Наприклад, шуканий елемент не був знайдений у зазначений час.
WebDriverException Цей виняток має місце, коли WebDriver діє відразу після закриття браузера.
ConnectionClosedException Цей тип винятків має місце, коли драйвер відключений.
ElementClickInterceptedException Команда не може бути виконана, оскільки елемент, що отримує події, приховує елемент, на який було надіслано запит.
ElementNotInteractableException Цей виняток Selenium видається, коли будь-який елемент представлений у DOM. Однак взаємодіяти з таким елементом неможливо.
ErrorInResponseException Це відбувається під час взаємодії з розширенням Firefox або віддаленим сервером драйверів.
ErrorHandler.UnknownServerException Виняток використовується як заповнювач у випадку, якщо сервер повертає помилку без трасування стека.
ImeActivationFailedException Це очікування настане, коли активація механізму IME не вдалася.
ImeNotAvailableException Це відбувається, коли підтримка IME недоступна.
InsecureCertificateException Навігація змусила агента користувача натиснути попередження про сертифікат. Це може спричинити недійсний або прострочений сертифікат TLS.
InvalidArgumentException Це відбувається, коли аргумент не належить очікуваному типу.
InvalidCookieDomainException Це трапляється, коли ви намагаєтесь додати файл cookie під іншим доменом замість поточної URL-адреси.
InvalidCoordinatesException Цей тип винятків відповідає недійсній взаємодійній операції.
InvalidElementStateExceptio Це відбувається, коли команда не може бути закінчена, коли елемент недійсний.
InvalidSessionIdException Цей виняток мав місце, коли вказаний ідентифікатор сеансу не включений до списку активних сеансів. Це означає, що сеанс не існує або є неактивним.
InvalidSwitchToTargetException Це відбувається, коли ціль кадру або вікна, яку потрібно переключити, не існує.
JavascriptException Ця проблема виникає під час виконання JavaScript, наданого користувачем.
JsonException Це відбувається, коли ви дозволяєте собі отримати сеанс, коли сеанс не створений.
NoSuchAttributeException Цей вид винятків виникає, коли атрибут елемента не вдається знайти.
MoveTargetOutOfBoundsException Це має місце, якщо ціль, надана методології ActionChains move (), є недійсною. Наприклад, поза документом.
NoSuchContextException ContextAware проводить тестування мобільних пристроїв.
NoSuchCookieException Цей виняток виникає, коли не знайдено файлів cookie, що відповідають вказаному імені шляху для всіх пов’язаних файлів cookie документа, що переглядається в даний момент.
NotFoundException Цей виняток є підкласом WebDriverException. Це станеться, коли елемент на DOM не існує.
RemoteDriverServerException Цей виняток Selenium видається, коли сервер не реагує через проблему з неналежними описаними можливостями.
Знімок екрана Виняток Зняти екран неможливо.
SessionNotCreatedException Це трапляється, коли новий сеанс не вдалося створити успішно.
UnableToSetCookieException Це відбувається, якщо драйвер не може встановити файл cookie.
UnexpectedTagNameException Трапляється, якщо клас підтримки не отримав веб-елемент, як очікувалося.
UnhandledAlertException Це очікування виникає, коли є попередження, але WebDriver не може виконати операцію попередження.
UnexpectedAlertPresentException Це відбувається, коли з’являється несподіване попередження.
UnknownMethodException Цей виняток трапляється, коли запитувана команда співпадає з відомою URL-адресою, але не збігається з методологією для певної URL-адреси.
UnreachableBrowserException Цей виняток виникає лише тоді, коли браузер не може бути відкритий або вийшов з ладу з якоїсь причини.
НепідтримуванийCommandException Це відбувається, коли віддалений WebDriver не надсилає дійсні команди, як очікувалося.

Обробка винятків із селеном

Ось деякі важливі стандарти, за допомогою яких ви можете обробляти винятки в Selenium WebDriver:

Try-catch : Цей метод може ловити винятки, що використовує комбінацію ключових слів try and catch. Команда try вказує на початок блоку, а Catch розміщується в кінці блоку try, що допомагає вирішити виняток.

спробуй{// Код} catch (виняток e) {// Код для обробки виключення}
  • Кілька блоків catch : Існують різні типи винятків, і ви можете очікувати більше одного винятку від одного блоку коду. Кілька ловів допомагають вам обробляти кожен тип винятків окремо за допомогою окремого блоку коду. Він може використовуватися для більш ніж двох блоків лову, і немає обмежень щодо кількості блоків лову.
спробуй{// Код} catch (ExceptionType1 e1) {// Код обробки винятків 1} catch (ExceptionType2 e2) {// Код для обробки винятків 2}
  • Throw : Коли потрібно створити виняток, ключове слово Throw використовується для викиду Exception для обробки під час виконання. Коли ви створюєте виняток, не обробляючи його, тоді їм потрібно використовувати ключове слово Throw.
public static void anyFunction () викидає виняток {спробуй {// напишіть тут свій код} Улов (виняток b) {// Робіть все, що хочете виконати// Повернути виняток назад до системикидок (б);}}
  • Кілька винятків : Ви можете згадувати різні винятки у пункті броски.
public static void anyFunction () кидає ExceptionType1, ExceptionType2 {спробуй {// напишіть тут свій код} catch (ExceptionType1 e1) {// Код для обробки винятків 1} catch (ExceptionType1 e2) {// Код для обробки винятків 2}
  • Нарешті : Ключове слово Final використовується для створення блоку коду під блоком try. Це остаточний код, який допомагає вам виконувати незалежно від виникнення винятку
спробуй {// Код} catch (ExceptionType1 e1) {// Блок лову} catch (ExceptionType2 e2) {// Блок лову} catch (ExceptionType3 e3) {// Блок лову} нарешті {// Блок нарешті завжди виконується.}

Методи відображення винятків

Ви також можете використовувати такі методи для відображення інформації про винятки:

  • printStackTrace () : Ця функція друкує трасування стека, ім'я винятку та інший корисний опис.
  • toString () : Ця функція повертає текстове повідомлення з описом імені та опису виключення.
  • getMessage () : Допомагає відобразити опис винятку.

Короткий зміст:

  • Винятком є ​​помилка, яка трапляється під час виконання програми.
  • Try-catch: Цей метод може ловити винятки, що використовує комбінацію ключових слів try and catch.
  • Кілька ловів допомагають вам обробляти кожен тип винятків окремо за допомогою окремого блоку коду.
  • Ключове слово Throw використовується для викиду Exception для обробки під час виконання.
  • printStackTrace (): Ця функція друкує трасування стека, ім'я винятку та інший корисний опис
  • toString (): Ця функція повертає текстове повідомлення з описом імені та опису виключення.
  • getMessage (): Допомагає відобразити опис винятку.