по поводу логина, скажу из своего опыта
Сначала логин у меня был одним шагом, а потом разбила каждый этап на отдельный шаг - так удобнее.
ШАги относятся не к действиям (пользователя), а страницам - так меньше путаницы
Т.е. Тест логина
loginPageSteps.EnterLogin("login"); loginPageSteps.EnterPassWord("pass"); loginPageSteps.ClickOkButton(); firstPageSteps.AssertFirstPage();
далее
в классе LoginPageSteps
@Step
public void EnterLogin(String login) getCurrentPage.EnterLogin(login)получается масло масленное, но степы нужны для отчетов плюс помогают структурировать весь проект более отчетливо
и наконец в классе LoginPage
public void EnterLogin(String login) assertTrue(element(loginField).isPresent(); loginField.type(login);
Все ассерты у меня ушли в конкретные методы для каждой страницы page object
Чем более "мелкие" шаги (клик на кнопку - отдельный шаг @Step) - тем проще его затем переиспользовать
Story они же requirements я вообще не пишу - так и не поняла зачем она вообще нужна и какие цели преследует.