Использование Cucumber или RSpec + Selenium для создания документации для конечного пользователя?

Кто-нибудь пытался создать конечную пользовательскую (потенциально онлайн, потенциально печатную) справку/документацию из ваших сценариев огурца? Или сделаны снимки экрана для использования в документации, используя для этого возможности RSpec и Selenium RC?

Для огурца я представляю что-то вроде:

Scenario: If you want to add a link
Given I am on the edit blog post page
When I press the "add link" button
And I type in a link URL "http://qaru.site/"
And I click "OK"
Then the blog post should have 1 link

Перевод на документацию:

Если вы хотите добавить ссылку, перейдите на страницу редактирования блога. Нажмите кнопку "Добавить ссылку" и введите URL-адрес, например " /qaru.site/... ", в поле "URL-адрес ссылки". Нажмите "ОК".

Стоит ли тратить мое время на то, чтобы, например, написать что-то, чтобы проанализировать мои функции Cucumber в документации, а две - написать/структурировать мои функции Cucumber таким образом, чтобы создать хорошую документацию? Будет ли получающаяся документация звучать действительно скучно без особых изменений в структуре?

Есть ли что-нибудь еще, как эта идея? Doxygen больше похож на документацию по коду, чем на документацию конечного пользователя.

А как насчет автоматического снятия скриншотов? Это кажется более плодотворным path-- - просто повторно использовать код, который делает снимок экрана, когда тест RSpec не проходит, и заставляет его делать это в предписанных ситуациях. Есть лучший способ сделать это?

Ответ 1

Вы должны посмотреть на cucumber-screenshot gem. Похоже, он делает именно то, что вы хотите - взяв HTML или (если вы на Mac) скриншоты PNG каждого шага в ваших сценариях. (В прошлом году я играл с моей собственной версией этой идеи. Я бросил ее довольно рано, так что вы, вероятно, лучше с помощью окунь-скриншот, но не стесняйтесь брать все, что вы можете использовать от Visible Cukes тоже).

Ответ 2

Я использую Lowdown (http://lowdownapp.com), чтобы передавать функции назад и вперед с клиентами. Весь смысл огурца в том, что он специфичен для бизнеса, поэтому вам не нужно переводить его в другой формат для документации. Однако я вижу, куда вы идете.

Вы можете использовать http://seleniumshots.com/ для получения скриншотов из вашего приложения из тестов. Тем не менее, я не знаю, есть ли это из бета-версии.

Ответ 3

Звучит здорово. Возможно, вы не хотите, чтобы некоторые сценарии огурца были доступны для всего мира. Если разработчик поставил что-то чувствительное, например, имена людей/паролей развития; или был обнаружен эксплойт сайта, и был написан сценарий огурца, чтобы проверить, что он был исправлен.