Обработка на изключения от селен (списък с общи изключения)

Съдържание:

Anonim

Какво е изключение?

Едно изключение е грешка, което се случва по време на изпълнение на програмата. Въпреки това, докато стартирате програма, програмните езици генерират изключение, което трябва да се обработва, за да се избегне срив на вашата програма.

Изключението показва, че въпреки че събитието може да се случи, този тип събитие се случва рядко. Когато методът не е в състояние да обработва изключението, той се прехвърля към функцията му за повикване. В крайна сметка, когато изключение бъде изхвърлено от основната функция, програмата се прекратява внезапно.

В този урок ще научите:

  • Какво е изключение?
  • Изключения в 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 (): Помага за показване на описанието на изключението.