Основные исключения WebDriwer

Данный раздел относится исключительно к автоматизированному тестированию, которое предполагает знание одного из выскоуровневых современных языков программирования. И в рамках нашего курса дается только в ознакомительном формате. Данный список вам может пригодится при прохождении практического задания уровня. Далее приведем список наиболее част встречающихся исключения Webdriwer:

  • ElementNotVisibleException — возникновение этого исключения означает, что хоть элемент и присутствует в DOM, он невидим и поэтому взаимодействовать с ним невозможно. 

  • IllegalLocatorException — возникает когда By не может обработать переданные ему аргументы. Наиболее распространенный случай возникновения — это использование составного имени класса в By.className(). 

  • StaleElementReferenceException — возникает когда ссылка на элемент, к которому идет обращение, больше не действительна. 

  • MoveTargetOutOfBoundsException — вызывается, если в метод moveToElement(WebElement toElement) передан элемент, который находится за пределами экрана, а так же в некоторых случаях когда драйвер не может попасть по движущемуся элементу (например, когда страница находится в процессе скролинга (jquery) — стоит дождаться его завершения и только после этого обращаться к элементам)

  • SessionNotCreatedException — это исключение означает, что сессия не может быть создана. Генерируется при использовании ‘requiredCapabilities’ для удаленного запуска, если браузер с «требуемыми» свойствами не найден.

  • TimeoutException — вызывается, когда команда не завершается в достаточный промежуток времени. Промежуток указывается параметром функции, либо является установленным по умолчанию.

  • UnhandledAlertException — возникает при появлении неожиданных модальных диалоговых окон. 

  • UnsupportedCommandException — исключение означает, что команда, используемая удаленным вебдрайвером, не поддерживается.

  • InvalidCookieDomainException — вызывается при попытке добавить cookie для домена, отличающегося от текущего.

  • UnableToSetCookieException — генерируется когда драйвер не может по каким либо причинам установить cookie.

 

Исключения группы «Not Found»

 

  • NoAlertPresentException — генерируется при попытке передать управление диалоговому окну, которого в данный момент нет. 

  • NoSuchElementException — вызывается методом findElement(By by), если элемент с заданным селектором не найден на странице.

  • InvalidSelectorException — исключение генерируется методом findElement(By by)когда заданный селектор поиска не возвращает WebElement. Сейчас это исключение возникает только при использовании xpath — когда в xpath выражении есть синтаксические ошибки или выражение не указывает на WebElement (например, «count(.//span)»).

  • NoSuchFrameException — возникает во время работы методов WebDriver.switchTo().frame(int frameIndex) и WebDriver.switchTo().frame(String frameName), если фрейм с заданным параметром не найден. Подробнее про работу с фреймами написано в этой статье.

  • NoSuchWindowException — возникает при отсутствии окна с заданным именем (WebDriver.switchTo().window(String windowName)). Статьи про работу с окнами: