2012-01-13 5 views
5

誰かがSeleniumを使ってFacebook Connectを使用しているWebアプリケーションのテストを自動化する経験がありますか?お勧めのヒントや方法はありますか?Seleniumを使用してFacebook Connectアプリケーションをテストしますか?

+0

のFacebookによるポストもありました戻っていくつかの時間を設計、ポスト内のリンクは、しかし時代遅れであり、それはワチールに言及しています。 http://developers.facebook。com/blog/post/305/ – David

+0

悲しいことに、FBのブログ記事は今すぐ削除されました。しかし、テスト用のこのAPIを使用することができます:https://developers.facebook.com/docs/test_users/ – David

答えて

1

あなたのやりたいことにかかっていますか?

  1. 実際のFacebookユーザー(Facebookで電話による確認)は使用しますか?

    「本当の」ユーザー(FBで検証された電話)を集める最も安全で最も信頼性が高いが、非常に難しい()。

    教育歴、仕事歴、名前、年齢などのユーザー/接続の詳細を定義するという点で(特に「本当の」Facebookアカウントにアクセスできない場合)

  2. Fbで検証されていないアプリをテストするために作成された偽のFacebookブックユーザーですか?

    おそらくセットアップが簡単です。すべてが偽のユーザーであるため、電話機の確認(FB付き)は不要です。 しかし、すべてのユーザーの電子メールIDを作成する必要があります。

    あなたの好みに合わせて接続情報を調整できますが、主な欠点の1つ(それは私に起こった)は、Fbがユーザーが合法ではないと検出した場合、FBはすべてのアカウントを凍結します。あなたのすべてのあなたのFbをユーザーに特定する自動テストはすべて目の瞬きの中で役に立たない。あなたが行うことができることはあまりありません(もしあなたがそれらのアカウントを確認するために新しい電話接続を得る予定がないならば、Google番号、スカイプ、IPベースの電話は許されません。また、1つの番号で1つのアカウントしか認可できません。

  3. Fbテストユーザーを作成するためにFacebook APIを使用しますか?

    FBを使ってFacebookを使ってアプリをテストするのに理想的な方法でしょうか。使用方法については、hereを参照してください。

    これはまっすぐに見えるかもしれませんが、その落とし穴(主要なもの)があります。非常に信頼できないAPIは、時間の10〜20%の誤差を返し、他の時間は極端に遅くなります。一度間違っているとFBテストユーザーのパスワードを取得する方法はありません。接続情報を簡単にカスタマイズすることはできません。それが毎回働くことを確信することなく何かを設定するのにかなりの労力が必要です。

私は個人的に2番目のオプションを選択しました。 Facebookは、複数のips全体の並列ログインに基づいて、ユーザーの合法性を(私は推測して)検出します。私はセレンRCをさまざまなサーバーで実行しており、これらのテストは並行して実行され、おそらく赤い旗を掲げる可能性があります。ですから、ログインの重複を避けるために、これらのスクリプトをより組織的にスケジュールするだけです。

私はこの長い説明であなたの答えを見つけることを願っています。 :) perlの実装については


を -

$sel->start(); 
$sel->open_ok("$URL"); 
$sel->set_speed("500"); 
$sel->click_ok("//img[\@alt='Facebook']",'User clicks on Facebook Login'); 
$sel->wait_for_pop_up_ok("", "30000",'Facebook Login Popup Loading'); 
$sel->select_pop_up("null");  
$sel->type_ok("email", "email\@email.com",'User enters Facebook credentials - Username'); 
$sel->type_ok("pass", "password",'User enters Facebook credentials - Password'); 
$sel->key_press("pass", "\\13",'User returns Facebook Login credentials'); 
$sel->select_window("null"); 
+1

本当にselect_pop_up()メソッドはありますか?それとも、Perlだけ?私はJava API(http://release.seleniumhq.org/selenium-remote-control/0.9.2/doc/java/)でそれを見ることはできません。 – David

関連する問題