Причем здесь это?Элементы проинициализируются, но первый поиск их на странице будет только тогда, когда в рамках теста к ним будет первое обращение.
И вот тогда уже - может быть NPE, если таких элементов на странице в данный момент нет.
Ну очевидно, что если нет обращения к элементу, то не будет и NPE
Это очень похоже на код://нет ошибки String s = null; //NPE s.length();
Вы написали, что initElements вызывает NPE на "любом FindBy", я уточнила - что это не так, т.к. initElements не вызывает NPE "любом FindBy" сам по себе.
Инициализация через initElements и обращение к элементу - не одно и тоже.
На приведенный вами код - не похоже вообще.
В вашем варианте - действительно будет NPE все время.
Похоже на что-то вроде:
WebElement element = tryToSearchThisElement(); public WebElement tryToSearchThisElement() { return driver.findElement(<locator_из_аннотации>); }Ошибка будет только в том случае, если элемента действительно нет на странице в тот момент, когда его будут искать.
При правильном использовании - не будет и NPE.