Какво е изключение?
Едно изключение е грешка, което се случва по време на изпълнение на програмата. Въпреки това, докато стартирате програма, програмните езици генерират изключение, което трябва да се обработва, за да се избегне срив на вашата програма.
Изключението показва, че въпреки че събитието може да се случи, този тип събитие се случва рядко. Когато методът не е в състояние да обработва изключението, той се прехвърля към функцията му за повикване. В крайна сметка, когато изключение бъде изхвърлено от основната функция, програмата се прекратява внезапно.
В този урок ще научите:
- Какво е изключение?
- Изключения в Selenium Web драйвер
- Работа с изключенията на селен
- Методи за показване на изключение
Чести изключения в Selenium Web драйвер
Име на изключение | Описание |
ElementNotVisibleException | Този тип изключение на Selenium възниква, когато съществуващ елемент в 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 | Това се случва, когато се опитате да добавите бисквитка под друг домейн вместо текущия URL адрес. |
InvalidCoordinatesException | Този тип изключение съответства на взаимодействаща операция, която не е валидна. |
InvalidElementStateExceptio | Това се случва, когато командата не може да бъде завършена, когато елементът е невалиден. |
InvalidSessionIdException | Това изключение се е случило, когато даденият идентификатор на сесия не е включен в списъка на активните сесии. Това означава, че сесията не съществува или е неактивна. |
InvalidSwitchToTargetException | Това се случва, когато целта на рамката или прозореца, която трябва да бъде превключена, не съществува. |
JavascriptException | Този проблем възниква при изпълнение на JavaScript, даден от потребителя. |
JsonException | Това се случва, когато си позволите да получите сесията, когато сесията не е създадена. |
NoSuchAttributeException | Този вид изключение възниква, когато атрибутът на елемент не може да бъде намерен. |
MoveTargetOutOfBoundsException | Това се извършва, ако целта, предоставена на методологията ActionChains move (), не е валидна. Например, извън документа. |
NoSuchContextException | ContextAware прави тестване на мобилни устройства. |
NoSuchCookieException | Това изключение възниква, когато не са намерени бисквитки, съответстващи на даденото име на път за всички свързани бисквитки на текущия документ за сърфиране. |
NotFoundException | Това изключение е подклас на WebDriverException. Това ще се случи, когато елемент на DOM не съществува. |
RemoteDriverServerException | Това изключение на Selenium се изхвърля, когато сървърът не реагира поради проблема, че описаните възможности не са правилни. |
ScreenshotException | Не е възможно да заснемете екран. |
SessionNotCreatedException | Това се случва, когато нова сесия не може да бъде създадена успешно. |
UnableToSetCookieException | Това се случва, ако драйверът не може да зададе бисквитка. |
UnexpectedTagNameException | Случва се, ако клас за поддръжка не получи уеб елемент, както се очаква. |
UnhandledAlertException | Това очакване възниква, когато има предупреждение, но WebDriver не е в състояние да извърши операция за предупреждение. |
UnexpectedAlertPresentException | Това се случва, когато се появи неочаквано предупреждение. |
UnknownMethodException | Това изключение се случва, когато заявената команда съвпада с известен URL адрес, но не съвпада с методология за конкретен URL адрес. |
UnreachableBrowserException | Това изключение възниква само когато браузърът не може да бъде отворен или сринат поради някаква причина. |
UnsupportedCommandException | Това се случва, когато отдалеченият WebDriver не изпраща валидни команди, както се очаква. |
Работа с изключенията на селен
Ето някои важни стандарти, с които можете да обработвате изключения в Selenium WebDriver:
Try-catch : Този метод може да улавя изключения, който използва комбинация от ключови думи try and catch. Командата try показва началото на блока и Catch се поставя в края на блока try, което помага да се разреши изключението.
опитвам{// Код} catch (Изключение e) {// Код за обработка на изключение}
- Множество блокиращи блокове : Има различни видове изключения и можете да очаквате повече от едно изключение от един блок код. Множеството улавяния ви помагат да обработвате всеки тип изключение поотделно с отделен блок код. Може да се използва за повече от два блока за улов и няма ограничение за броя на блоковете за улов.
опитвам{// Код} catch (ExceptionType1 e1) {// Код за обработка на изключение 1} catch (ExceptionType2 e2) {// Код за обработка на изключение 2}
- Хвърляне : Когато искате да генерирате изключение, ключовата дума Throw се използва за хвърляне на изключение, за да се справи с него по време на изпълнение. Когато хвърляте изключение, без да го обработвате, те трябва да използват ключовата дума 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 (): Помага за показване на описанието на изключението.