2012-01-13 3 views
5

Selenium을 사용하여 사용자 로그인을 위해 Facebook Connect를 사용하는 웹 응용 프로그램의 테스트를 자동화 한 경험이 있습니까? 추천하는 팁이나 방법은 무엇입니까?Selenium을 사용하여 Facebook Connect 애플리케이션을 테스트 하시겠습니까?

+0

, 게시물에 링크가 비록 오래된, 그것은 Watir과를 언급하고있다. 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에서 확인하지 않음)?

    가짜 사용자이므로 설정이 가장 쉬울 것입니다. 전화 확인 (FB 포함)이 필요하지 않습니다. 그러나 모든 사용자의 이메일 ID를 만들어야합니다.

    연결 정보를 사용자의 취향에 맞게 조정할 수 있지만. 가장 큰 단점 중 하나 (그리고 나에게 일어난 일)는 Fb가 사용자가 합법적이지 않다는 것을 감지하면 FB가 모든 계정을 고정시킵니다. 어떤 귀하의 모든 Fb을 만들 것입니다 사용자 특정 눈 깜짝 할 사이에 쓸모없는 자동화 된 테스트. 그리고 당신이 할 수있는 일이별로 없습니다. (새로운 전화 연결을 통해 그 계정을 확인하려고하지 않는 한, Google 번호, 스카 이프 없음, IP 기반 전화가 허용되지 않습니다 .FB는 매우 엄격합니다). 또한 하나의 번호 만 하나의 계정 만 인증 할 수 있습니다.

  3. Fb 테스트 사용자를 만들기 위해 Facebook API를 사용합니까?

    아마도 FB를 사용하면 Facebook 연결을 사용하여 앱을 테스트 할 수 있습니다. 그것을 사용하는 방법에 대한 문서는 here을 클릭하십시오.

    똑바로 보일지 모르지만 낙오 (주요 문제)가 있습니다. 매우 알기 힘든 API는 시간의 10-20 %의 오류를 반환하고 다른 시간은 극도로 느려집니다. 한번 잘못 배치 된 FB 테스트 사용자의 비밀번호를 검색 할 방법이 없습니다. 연결 정보는 쉽게 사용자 정의 할 수 없습니다. 매번 작동하지 않을 때 무언가를 설정하려면 상당한 노력이 필요합니다.

개인적으로 두 번째 옵션을 선택했습니다. 페이스 북은 여러 ips의 병렬 로그인을 기반으로 사용자의 합법성을 감지합니다. 나는 여러 서버에서 실행되는 셀렌 RC를 가지고 있으며,이 테스트는 병렬로 실행되어 적색 플래그를 발생시킬 수 있습니다. 따라서 로그인 오버랩을 피하기 위해보다 편 리한 방식으로 스크립트를 예약합니다.

이 긴 설명에서 귀하의 답을 찾으십시오. :) 펄 구현을 위해


-

이 페이스 북에 의해 게시물도했다 다시 약간의 시간을 설계
$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() 메소드가 있습니까? 아니면 펄을 위해서만? Java API (http://release.seleniumhq.org/selenium-remote-control/0.9.2/doc/java/)에서이 코드를 볼 수 없습니다. – David