У нас есть структура пользовательского интерфейса с шаблонами Page Object и Page Factory.В одном из моих классов Page Object я определил webelement и вызвал его.В своем тестовом классе я вызываю этот элемент bebelement один раз, когда он находится на одной странице, и снова вызываю этот элемент webelement, когда он находится на другой странице.Ниже мой код выглядит следующим образом:
PageObjectClass1:
@FindBy(how=How.XPATH, using="//*[contains(text(),'Successfully')]")
@CacheLookup
public WebElement successMsg;
testStepClass:
//on first page
PageObjectClass1.successMsg.isDisplayed()
//Then I navigate to some other page and again call this webelement
PageObjectClass1.successMsg.isDisplayed();
При повторном вызове веб-драйвера я получаю исключение staleElementException.Этот xpath является общим xpath и будет использоваться на каждой странице.Это определенно присутствует в DOM, поэтому не уверен, почему он дает мне это исключение?Как я могу использовать его, не создавая этот webelement в каждом классе объекта страницы?
Исключение составляет:
org.openqa.selenium.StaleElementReferenceException: устаревшая ссылка на элемент: элемент не прикрепленна страницу документа