Не могу вызвать метод в 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). В Вашем примере нарушен синтаксис языка, поэтому код не компилируется.

→ Ссылка