Никогда не работал с BDD, сейчас есть задача использовать Cucumber в Ui тестах.
Возникло пару вопросов, буду благодарен за ответы.
1) Планируется использовать Page Object.
Вопрос насчет stepDefinition классов, какие есть best practise для организации структуры - разбивать stepDefinition по страницам, сценариям? иметь один stepDefinition класс?
2) На Ui на многих страницах есть своя кнопка OK и у каждой свой селектор.
Плюс еще есть попапы, где тоже есть кнопка ОК и у каждой свой селектор.
Если в step написано "User clicks OK button", как тесты будут понимать по какой именно кнопке надо кликнуть? Или надо все сценарии конкретизировать? - типа, "User clicks OK button on the Login page"
3) В одном сценарии есть step "Registration page is opened" в секции Given, в другом сценарии такой же степ в секции Then. Нужно создавать две реализации в stepDefinition?