Сорри за возможно совсем новичковский вопрос, но что-то у меня заклинило…
Я работаю
Java+Selenium2+Thucydides+Win7x64
Для класса каждой страницы использую аннотацию @At c целью проверки, в частности навигации сайта
@NamedUrls({@NamedUrl(name = "WelcomePage", url = "example/welcome.xtml") })
@At(urls={"#HOST/host/(en|ru|lv)/example/welcome.xtml"})
public class WelcomePage extends MainPage {
public WelcomePage (WebDriver driver) {
super(driver);
}
В шагах для каждой страницы есть метод:
public WelcomePage getCurrentPage() {
return getPages().currentPageAt(WelcomePage.class);
}
@Step
public void clickLogout() {
getCurrentPage().logout();
}
Ранее, если тест переходил не на нужную страницу (т.е. URL не совпадал с указанным в аннотации @At), то я получала ошибку и сообщение, что Thucydides ожидал получить одну страницу, а получил другую
Теперь же в такой же ситуации в тесте просто не находится нужный элемент или текст. Но если элемент все же существует на “неправильной” странице, то все ОК - он ассертится, нажимается и т.д.
Т.е. теперь абсолютно не очевидно, что ссылка или кнопка ведет не туда, куда должна
Подозреваю, что проблема вот в этом:
public WelcomePage getCurrentPage() {
return getPages().currentPageAt(WelcomePage.class);
}
однако, метод currentPageAt в классе pages - это именно то, что надо использовать с аннотацией @At судя по документации.
В общем, самостоятельные копания мне не помогли, необходим совет куда копать дальше.