【问题标题】:Whats the best way to integration test a facebook application?集成测试 facebook 应用程序的最佳方法是什么?
【发布时间】:2013-04-04 17:25:52
【问题描述】:

所以,我有一个我正在测试的 facebook 应用程序。我想测试用户在应用程序上的交互,但我遇到了问题。

我正在测试的用户流程相对简单:当用户访问页面内 facebook 应用程序时,如果他们已经喜欢该应用程序所在的页面,他们将看到 x-content,如果他们还没有还喜欢该页面,他们会遇到一个喜欢的门。我的目标是确认我的用户在喜欢 Facebook 页面后能够看到某些文本。

我的测试:

describe "facebook" do
  it "visit and like page", :vcr do
    Capybara.current_driver = :selenium
    visit "https://www.facebook.com/pages/Testpage/433439410073990?id=433439410073990&sk=app_454512097948559"
    within('#login_form') do
        fill_in "email", with: FB_EMAIL
        fill_in "pass", with: FB_PASSWORD
        click_on "Log In"
    end
    page.should have_content('Testpage')

    within('#timelineHeadlineLikeButton') do
      click_on 'like'
    end
  end
end

我的问题是我不知道如何让水豚喜欢该页面。

您如何集成测试您的 Facebook 应用程序?

【问题讨论】:

    标签: ruby-on-rails-3 facebook tdd capybara


    【解决方案1】:

    我没有完整的例子。

    test.rb (如果环境是测试,你可以将它添加到初始化程序并添加它)。

    OmniAuth.config.test_mode = true
    
      FACEBOOK_INFO = {
        "id"=> "220449",
        "email" => "nypee@facebook.com",
      }
    
      OmniAuth.config.mock_auth[:facebook] = {
        "uid" => '112345',
        "provider" => 'facebook',
        "user_info" => {"name" => "Nype Aylor", "nickname" => 'Aylor'},
        "credentials" => {"token" => 'plataformatec'},
        "extra" => {"user_hash" => FACEBOOK_INFO}
      }
    

    这模拟了对omniauth 的调用。 所以在你的测试中,当你模拟点击 facebook 按钮时, 您将得到的响应来自

    OmniAuth.config.mock_auth[:facebook].

    我认为将测试与 Facebook 集成的最佳方式

    【讨论】:

      猜你喜欢
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      相关资源
      最近更新 更多