ruby-on-rails – 测试Web应用程序与Cucumber的Facebook集成

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 测试Web应用程序与Cucumber的Facebook集成前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用黄瓜与水豚来测试我的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的用户的环境.

一些具体问题要解决

如何模拟点击< fb:login-button>元件?我想出的最好的事情(但还没有测试)是手动点击元素上的点击事件.

一旦Facebook对话出现,Capybara是否可以访问它?怎么样?这是为了输入测试Facebook帐户的电子邮件地址和密码,并安装测试帐户的Facebook应用程序.

对于这个问题,一个人如何管理测试帐户? http://developers.facebook.com/docs/test_users/表示可以使用Graph API创建和删除测试用户,但API并不希望提供对测试帐户的电子邮件地址或密码的访问,这似乎无法用于测试此特定流程.

我相信我也是忽略其他重要的问题.我很好奇其他人如何攻击这个问题!

解决方法

我已经设法使用以下代码在rspec验收规范中工作:

https://gist.github.com/1084767

这使用mogli创建和销毁测试用户和capybara来编排浏览器测试.我相信你可以通过删除shared_context块和使用黄瓜之前/之后的钩子来获得它与黄瓜的工作,如:

Before '@fb_test_user' do
  @fb_user = create_test_user(installed: false)
end

After '@fb_test_user' do
  @fb_user.destroy
end

World(FacebookIntegrationHelpers)

猜你在找的Ruby相关文章