Я не уверен, что понимаю принцип кеширования:
@CacheLookup
@FindBy(how = How.ID, using = namespace + signifLvl)
private WebElement sigLvl;
Если мы используем этот способ аннотации, ElementLocator используется и первый раз обращается к полю , элемент найден driver.findElement (by)
и кэширован через ElementLocator, так что в следующий раз, когда мы обратимся к нему, он будет возвращен из кеша.
Похоже, это зависит от времени жизни ElementLocator и экземпляр PageObject.
Также это не относится к прямым вызовам driver.findElement (By);
.
Я предполагаю, что WebElement похож на указатель / ссылку на элемент, верно? Таким образом, если элемент изменяется в браузере, он сразу же отражается в WebElement. Как в JavaScript. Поскольку все методы RemoteWebElement, касающиеся состояния элемента, выполняют команду / запрос к браузеру.
Чтобы изменения отражались даже в кешированном элементе, верно?