Feature в Cucumber при создании класса, его потом не видит

Java, JUnit, Maven, Cucumber. Написал простой сценарий: @withdrawal Feature: Log In

Scenario: Log In
  Then Click "Log In" button

Альт+Ентер: создать класс, странный результат:

@cucumber.api.java.en.Then("Click {string} button")
public void clickButton(String arg0) {
}

java - горит красным, переписал с его рекомендациями:

 @Then("Click {string} button")
    public void clickButton(String string) {
        open("https://grinfer.com/");
        $(By.xpath("//div[text()='" + string + "']")).click();
        // Write code here that turns the phrase above into concrete actions
        throw new io.cucumber.java.PendingException();
    }

итог один:

io.cucumber.junit.UndefinedStepException: The step "Click "Log In" button" is undefined. You can implement it using the snippet(s) below:

@Then("Click {string} button")
public void clickButton(String string) {
    // Write code here that turns the phrase above into concrete actions
    throw new io.cucumber.java.PendingException();
}

Вопрос, судя по-всему сценарий не видит класс (кстати имя класса горит серым), что ето может быть? Спасибо!


Ответы (1 шт):

Автор решения: Денис Кондратов

Короче, ржал аки конь. Значит эту запись (которую кукумбер выдавал при создании класса):

@cucumber.api.java.en.Then("Click {string} button")

я переписывал в виде:

import io.cucumber.api.java.en.Then
   @Then ("Click {string} button")

, но импорт(сгнерированный автоматически) не проходил. Тут я психанул и переписал:

@Тогда ("Click {string} button")

сделал автоимпорт и всё заработало. Пришёл знающий человечек, поковырялся и выяснил, что библиотека с английскими аннотациями не распознаётся фреймворком (качал последнюю версию). Откатили версию огурца и всё заработало и с английской аннотацией.

По-ходу дела решили ещё один косяк: @Before тупо не отрабатывал, а автоимпорт не смотря на клик по строчке (@Before for io.cucumber...) подключал JUNit-овский, проблема автоимпорта решилась то ли очисткой кэша(?) идеи то ли сменой версиии кукумбера, то ли перезапуском идеи (До этого ручками пришлось писать правильный импорт). Такие дела. Надеюсь кому-то поможет.

→ Ссылка