0

所以,我有一个我正在测试的 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 应用程序?

4

1 回答 1

0

我没有完整的例子。

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 集成的最佳方式

于 2013-04-04T18:09:57.977 回答