Для ускорения тестов под #ios (а в аппиуме они довольно sloowly) решил воспользоваться аннотацией CacheLookup, чтобы повторно не искать найденные элементы.
И все было хорошо, пока найденные элементы не начали использоваться по второму разу:
- перестали отрабатывать тапы;
- невозможно посмотреть атрибуты элементов (прим. getAttribute(“name”);
- у кешированных элементов появились странные координаты.
@iOSFindBy(accessibility = "MenuItemTV")
@CacheLookup
private WebElement tvPageButton;
@iOSFindBy(accessibility = "LimeButton")
@CacheLookup
private WebElement limeLogo;
System.err.println(app.mainPageScreen().getLimeButton().getLocation()); // Координаты кнопки HOME = (20, 30)
System.err.println(app.mainPageScreen().getTvPageButton().getLocation()); // Координаты кнопки TV = (70, 289)
app.goTo().tv(); // клик на кнопку TV
app.goTo().home(); // клик на кнопку Назад
System.err.println(app.mainPageScreen().getTvPageButton().getLocation()); // Координаты кнопки TV = (70, 289)
System.err.println(app.header().getLimeButton().getLocation()); // Координаты кнопки HOME стали некорректными, - (0, 768)
app.goTo().tv(); // клик на элемент не производится
Примеры ошибок:
1. org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: elementId 5 could not be tapped
2. org.openqa.selenium.WebDriverException: null is not an object (evaluating 'au.getElement('0').name')
Кто-нибудь сталкивался? Any ideas?