Как работает Selenium Annotation "@FindBy", когда он не возвращает элемент? - PullRequest
0 голосов
/ 17 сентября 2018

Если @FindBy не возвращает ни одного элемента, получаем ли мы ошибку, поскольку я видел, что @FindBy можно использовать для получения 0 для нескольких элементов.

Сценарий: @FindBy (id = "btn") приватная поисковая кнопка WebElement; // позволяет ссылаться на один элемент

Случай 1: Если у нас нет элементов с идентификатором «btn», то каков будет результат? Случай 2: Если у нас есть несколько элементов с идентификатором «btn», то каков будет результат?

Пожалуйста, уточните.

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Случай 1: Если у нас нет элементов с идентификатором "btn", то каков будет результат?

org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"name","selector":"<invalid name>"}

Случай 2: Если у нас есть несколько элементов с идентификатором "btn", то каков будет результат?

Поскольку у нас есть несколько элементов, мы не можем выполнять какие-либо действия из-за неоднозначности.

org.openqa.selenium.WebDriverException: unknown error: cannot focus element
0 голосов
/ 17 сентября 2018

Вы не получите сообщение об ошибке при вызове PageFactory.initElements, элемент, который не был найден, будет установлен на null.Однако вы получите NullPointerException при попытке использовать элемент.

...