Одна из замечательных особенностей specflow (и cucumber ...) заключается в том, что вы можете написать тест до того, как появится какая-либо страница. Так что я бы сделал именно то, что вы планировали сделать.
1) Напишите тест спецификации потока, который описывает, как вы хотите работать со страницей. Похоже, у вас это уже есть.
2) Запустите тест. Первая строка потерпит неудачу (если я нахожусь на странице клиента).
Теперь у вас есть выбор. Вы просто хотите написать код, который запускает Watin и переходит на страницу клиента? Хорошо, сделай это; затем напишите страницу клиента (достаточно, чтобы первая строка теста прошла).
Или признайте, что для вашего теста требуется страница клиента. Здесь есть что проверить: все поля данных существуют? Правильно ли выполняется проверка ввода? Если я отправлю сообщение на сервер, получу ли я правильный ответ? Если я отправляю сообщение на сервер, правильно ли обновляется БД? И так далее. Некоторые из них звучат как модульные тесты (бизнес-логика, которая принимает данные формы и сохраняет их в БД); некоторые походят на тесты пользовательского интерфейса, которые были бы хороши с SpecFlow (детали страницы, проверка), а некоторые походят на интеграционные тесты (вероятно, хороши с specflow).
Как только вы написали все те, и они прошли, вернитесь к исходному тесту и получите второй шаг для прохождения (я нажимаю ...)
и т. Д.
Чтобы ответить на ваш второй вопрос, мы надеемся, что вы выполняете модульные тесты и тесты спецпотока достаточно часто, чтобы в случае сбоя теста это происходило из-за того, что вы сделали за последние несколько минут. Не должно быть слишком сложно увидеть, что не получилось, и сопоставить его с тем, что вы только что сделали.
Если вы не проводите свои тесты так часто, тогда вам следует.