Не могу вызвать метод в Selenide
Имею тест:
@Test
public void yandexMarket(){
open("https://yandex.ru/", YandexMainPage.class)
.search("яндекс маркет")
.goLink(YandexSearchResult.class)
.categoryGo(BeforePhonesCategory.class);
}
Где не могу вызвать метод categoryGo, остальные методы вызываются без проблем, но Selenide почему-то не видит именно .categoryGo.
Сам метод:
public class Tests extends BaseTest {
public class BeforePhonesCategory extends BaseTest {
@Step("Переходим в категорию телефоны {goCategory}")
public void categoryGo(){
SelenideElement goCat = $x("//a[@href='/catalog--elektronika/54440']");
goCat.click();
switchTo().window(1);
SelenideElement goCat2 = $x("//a[@href='/catalog--mobilnye-telefony/54726/list?hid=91491']");
goCat2.click();
switchTo().window(1);
}
}
Ответы (1 шт):
Автор решения: Alexey R.
→ Ссылка
Проблема не в Selenide. Методы, которые Вы вызваете, больше похожи на методы ибзнес-уровня, которыми часто оборачивают родные вызовы Selenium/Selenide для повышения читаемости.
Для того, чтобы в данном тесте можно было вызвать categoryGo(..) необходимо удостоверится, что метод goLink возвращает объект типа BeforePhonesCategory.
Но, в Вашем случае, проблема, скорее всего в другом.
Уберите ; после .goLink(YandexSearchResult.class). В Вашем примере нарушен синтаксис языка, поэтому код не компилируется.