Я хотел бы использовать Cucumber с Capybara для тестирования процедуры регистрации моего приложения Rails в Facebook, выполнив следующий сценарий:
@javascript
Scenario: Connect account
When I go to the home page
And I press "Connect your Facebook account"
And I fill in "test@address" for "Email"
And I fill in "test" for "Password"
And I press "Login"
And I press "Allow"
Then I should be on the dashboard page
Как люди подходят к проблеме интеграционного тестирования интеграция с Facebook через браузер? Веб-поиск обнаруживает только пару сообщений в блогах, предшествующих API-интерфейсу графа, и они, кажется, обсуждают только реализацию предварительного условия, которое устанавливает среду, представляющую пользователя, уже вошедшего в Facebook.
Некоторые конкретные проблемы, требующие решения:
Как имитировать нажатие на элемент
? Лучшее, что я придумал (но еще не тестировал), - это вручную запустить событие щелчка на элементе.
Как только появится диалоговое окно Facebook, у Capybara есть к нему доступ? Как? Кажется, это необходимо для ввода адреса электронной почты и пароля тестовой учетной записи Facebook и для установки приложения Facebook для тестовой учетной записи.
В этом отношении, как можно управлять тестовыми учетными записями? http://developers.facebook.com/docs/test_users/ указывает, что тестовых пользователей можно создавать и удалять с помощью Graph API, но API не пытается предоставить доступ к адресу электронной почты или пароль для тестовой учетной записи, что, кажется, делает их бесполезными для тестирования этого конкретного потока.
Я уверен, что упускаю из виду и другие важные вопросы. Мне, конечно, любопытно, как другие люди решали эту проблему!