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-овский, проблема автоимпорта решилась то ли очисткой кэша(?) идеи то ли сменой версиии кукумбера, то ли перезапуском идеи (До этого ручками пришлось писать правильный импорт). Такие дела. Надеюсь кому-то поможет.