Обробка винятків у Selenium Веб-драйвер (типи)
Що таке винятки?
An виняток це помилка, яка виникає під час виконання програми. Однак під час виконання програми мови програмування генерують виняток, який слід обробити, щоб уникнути збою програми.
Виняток вказує на те, що, хоча подія може відбутися, цей тип події відбувається рідко. Коли метод не в змозі обробити виняток, він передається до функції, що викликає.
Типи винятків у Selenium Веб-драйвер
1. ElementNotVisibleException: Цей тип Selenium виняток виникає, коли наявний елемент у DOM має набір функцій як прихований.
2. ElementNotSelectableException: Цей Selenium виняток виникає, коли елемент представлено в DOM, але ви можете вибрати. Тому взаємодіяти неможливо.
3. NoSuchElementException: Цей виняток виникає, якщо елемент не вдалося знайти.
4. NoSuchFrameException: Цей виняток виникає, якщо цільовий кадр, на який потрібно перейти, не існує.
5. NoAlertPresentException: Цей виняток виникає, коли ви перемикаєтеся на відсутність попередження.
6. NoSuchWindowException: Цей виняток виникає, якщо цільове вікно, яке потрібно перемикати, не існує.
7. StaleElementReferenceException: Цей Selenium виняток виникає, коли веб-елемент від’єднується від поточного DOM.
8. SessionNotFoundException: WebDriver працює після виходу з браузера.
9. TimeoutException: Викидається, коли не вистачає часу для виконання команди. Наприклад, шуканий елемент не було знайдено за вказаний час.
10. WebDriverException: Цей виняток виникає, коли WebDriver працює одразу після закриття браузера.
11. ConnectionClosedException: Цей тип винятку має місце, коли в драйвері відбувається відключення.
12. ElementClickInterceptedException: Команда може бути не виконана, оскільки елемент, який отримує події, приховує елемент, на який було натиснуто запит.
13. ElementNotInteractableException: Цей Selenium виняток виникає, коли будь-який елемент представлений у DOM. Однак взаємодіяти з таким елементом неможливо.
14. ErrorInResponseException: Це відбувається під час взаємодії з Firefox розширення або сервер віддаленого драйвера.
15. ErrorHandler.UnknownServerException: Виняток використовується як заповнювач у випадку, якщо сервер повертає помилку без стеку trace.
16. ImeActivationFailedException: Це очікування виникне, якщо не вдасться активувати систему IME.
17. Виняток ImeNotAvailable: Це відбувається, коли підтримка IME недоступна.
18. InsecureCertificateException: Під час навігації агент користувача отримав попередження про сертифікат. Це може бути спричинено недійсним або простроченим сертифікатом TLS.
19. InvalidArgumentException: Це відбувається, коли аргумент не належить до очікуваного типу.
20. InvalidCookieDomainException: Це трапляється, коли ви намагаєтеся додати файл cookie в іншому домені замість поточної URL-адреси.
21. Виняток InvalidCoordinatesException: Цей тип винятку відповідає недійсній взаємодії взаємодії.
22. InvalidElementStateException: Це відбувається, коли команду не можна завершити, якщо елемент недійсний.
23. InvalidSessionIdException: Цей виняток стався, коли даний ідентифікатор сеансу не включено до списку активних сеансів. Це означає, що сеанс не існує або також неактивний.
24. InvalidSwitchToTargetвиняток: Це відбувається, коли рамка або вікно, яке потрібно переключити, не існує.
25. Javascriptвиняток: Ця проблема виникає під час виконання JavaСкрипт, наданий користувачем.
26. JsonException: Це відбувається, коли ви дозволяєте отримати сеанс, коли сеанс не створено.
27. NoSuchAttributeException: Цей тип винятку виникає, коли атрибут елемента не може бути знайдений.
28. РухайтесяTargetOutOfBoundsException: Це відбувається, якщо мета, надана методології ActionChains move(), недійсна. Наприклад, поза документом.
29. NoSuchContextException: ContextAware проводить тестування мобільних пристроїв.
30. NoSuchCookieException: Цей виняток виникає, якщо для всіх пов’язаних файлів cookie документу, який зараз переглядається, не знайдено жодного файлу cookie, що відповідає вказаному шляху.
31. NotFoundException: Цей виняток є підкласом WebDriverException. Це станеться, коли елемент у DOM не існує.
32. RemoteDriverServerException: Цей Selenium виняток виникає, коли сервер не відповідає через проблему, пов’язану з тим, що описані можливості не є належними.
33. ScreenshotException: Неможливо захопити екран.
34. Виняток SessionNotCreatedException: Це трапляється, коли новий сеанс не вдалося створити.
35. UnableToSetCookieException: Це відбувається, якщо драйвер не може встановити файл cookie.
36. UnexpectedTagNameException: Трапляється, якщо клас підтримки не отримав веб-елемент належним чином.
37. UnhandledAlertException: Це очікування виникає, коли є сповіщення, але WebDriver не може виконати операцію сповіщення.
38. UnexpectedAlertPresentException: Це відбувається, коли виникає несподіване попередження.
39. UnknownMethodException: Цей виняток трапляється, коли запитана команда збігається з відомою URL-адресою, але не відповідає методології для конкретної URL-адреси.
40. UnreachableBrowserException: Цей виняток виникає лише тоді, коли веб-переглядач не може відкритися або виходить з ладу з певної причини.
41. UnsupportedCommandException: Це відбувається, коли віддалений WebDriver не надсилає правильні команди належним чином.
Як обробляти винятки в Selenium
Ось кілька важливих стандартів, за допомогою яких можна обробляти винятки Selenium WebDriver:
Крок 1) Спроба-злов
Цей метод може перехоплювати винятки, який використовує комбінацію ключових слів try і catch. Команда Try вказує на початок блоку, і Залучайте розміщується в кінці блоку try, що допомагає вирішити виняткову ситуацію.
try
{
// Code
} catch (Exception e) {
// Code for Handling exception
}
Крок 2) Кілька блоків захоплення
Існують різні типи винятків, і ви можете очікувати більше одного винятку з одного блоку коду. Кілька перехоплень допомагають вам обробляти кожен тип винятку окремо за допомогою окремого блоку коду. Його можна використовувати для більш ніж двох блоків захоплення, і немає обмежень на кількість блоків захоплення.
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.
}
Методи відображення винятків
Для відображення інформації про винятки можна також використати такі методи:
- printStackTracе()Ця функція друкує стек tracе., назва винятку та інші корисні описи.
- toString (): Ця функція повертає текстове повідомлення з описом назви та опису винятку.
- getMessage(): допомагає відобразити опис винятку.
Резюме
- Винятком є помилка, яка виникає під час виконання програми.
- Try-catch: цей метод може перехоплювати винятки, який використовує комбінацію ключових слів try і catch.
- Кілька перехоплень допомагають вам обробляти кожен тип винятку окремо за допомогою окремого блоку коду.
- Ключове слово Throw використовується для створення винятку для його обробки під час виконання.
- printStackTrace(): Ця функція виводить стек tracе., назва винятку та інші корисні описи
- toString(): ця функція повертає текстове повідомлення з описом назви та опису винятку.
- getMessage(): Допомагає відобразити опис винятку.
