2008-09-02 4 views
41

일반적으로 나는 트렁크에 내 웹 사이트를 개설 한 다음 변경 사항을 테스트 분기에 병합하여 베타 웹 사이트에 저장 한 다음 마지막으로 라이브 분기에 병합하고 라이브에 추가합니다 웹 사이트.Facebook 응용 프로그램 개발 및 테스트

Facebook 응용 프로그램과 함께 것들이 약간 까다 롭습니다. 일반 웹 브라우저 (Facebook 서버를 거쳐야 함)를 통해 Facebook 응용 프로그램을 볼 수 없으므로 각 개발자에게 자신의 웹 사이트 버전을 쉽게 제공하고 테스트 할 수 없습니다.

사용자가 사용할 수있는 안정적인 라이브 웹 사이트를 계속 유지하면서 Facebook 응용 프로그램을 개발하고 테스트하는 가장 좋은 방법에 관해서는 아무것도 알지 못했습니다. 제 질문은 이것입니다. Facebook 응용 프로그램의 개발 및 테스트를 구성하는 가장 좋은 방법은 무엇입니까?

답변

14

나는 나와 우리 파트너가 한 방식대로 우리는 우리가 작업 한 우리의 IP 주소를 가리키는 우리 자신의 개인용 Facebook 응용 프로그램을 만들었습니다. 우리가 같은 장소에서 일한 이래로 우리는 각각 다른 포트를 고르고 라우터가 해당 포트를 로컬 IP 주소로 포워딩하게했습니다. 페이지를 새로 고치는 것은 다소 느 렸지만 매우 잘 작동했습니다.

6

트렁크와 테스트 버전을 서로 다른 응용 프로그램으로 추가하고 test accounts을 사용하여 테스트해야합니다. 단일 응용 프로그램을 사용하고주기간에 대상 URL을 전환 할 수도 있습니다.

5

FB 앱을 테스트하는 것은 여전히 ​​원시 프로세스입니다.

일반적으로 SSH 터널을 사용하여 개발 서버를 가리키는 FB 개발 환경 내에서 프로덕션 설정의 전체 복사본 인 테스트 응용 프로그램을 설치합니다. FB 내에서 필요한만큼 많은 응용 프로그램을 설치할 수 있습니다. 일반적으로 개발 응용 프로그램, 준비 응용 프로그램 및 프로덕션이 있습니다. 스테이징 및 프로덕션은 모두 SSH 터널이 아닌 "라이브"서버에 있습니다.

응용 프로그램에서는 서버 기반의 FB 구성을 전환 할 수있는 언어/프레임 워크/서버 도구를 사용합니다. Rails에서 Facebooker 보석은 실제로 다양한 FB 구성을 지원합니다.

일단 완료되면 테스트는 불행히도 FB 자체 내에서 앱을 실행하는 문제입니다. 가능한 많은 자동화를 위해 Selenium을 사용합니다.

22

호스트 파일 (for windows users @ c:\windows\System32\Drivers\etc\hosts)을 라이브 도메인의 모든 요청을 다시 시스템으로 라우팅하는 항목으로 업데이트 해보십시오.

그래서 127.0.0.1 mywebappthatusesfacebook.com.

그런 다음 앱이 웹 서버의 루트에 실행되고 있는지 확인하십시오. @http://localhost/ 그런 다음 브라우저에서 mywebappthatusesfacebook.com으로 이동하면 로컬 컴퓨터로 바로 리디렉션됩니다. 페이스 북은 그 차이를 알지 못할 것이다. 이게 도움이 되었으면 좋겠어요

+5

를 얻을. 그러나 페이스 북의 서버는 그것에 접근하지 못할 것이다. – Rory

+0

자세히 설명해 주시겠습니까? –

+1

멋진 작품! 그런 간단한 해결책. 내가 할 수 있으면 나는 100 번 upvoted했을 것입니다 –

1

우리는 Toby와 매우 비슷하게 설정했습니다. 각 개발자를위한 일련의 설정 파일. Facebook App APP 정보 (각 개발자마다 다른 앱), 앱이 호스팅되는 별도의 페이지 및 git은 설정 파일을 무시합니다. 우리는 코드 이그니 터 (Code Igniter)를 사용하는 LAMP입니다.이 파일은 환경 변수를 1 파일로 설정할 수 있다는 점에서 레일스와 유사합니다.이 파일은 Facebook 상수가있는 config를 가리 킵니다.

모델 테스트를위한 단위 테스트를 사용하여 Selenium으로 분기합니다.

1

로컬 테스트의 경우 서버와 다른 앱을 사용하기 만합니다. 이 경우 Canvas-URL은 localhost.local : 8000으로 설정됩니다.

facebook을 사용할 때 localhost.local을 localhost가 아닌 브라우저의 주소 필드에 입력하면됩니다.

Firefox의 '새 탭에서 iframe 열기'명령을 사용하면 캔버스 또는 탭 응용 프로그램을 테스트하는 것이 더 빠릅니다. 이렇게하면 Facebook의 세션과 쿠키가 보존됩니다. 이 작업을 수행하는

+0

왜'localhost.local'은'localhost'보다 나은가요? –

+0

지금 테스트하지는 않았지만 localhost 만 사용 했었습니다. (적어도 2011 년) – sbaechler

4

가장 좋은 방법 : "HTTP : // localhost를 /"에 '기본 정보'

설정 웹 사이트의 '사이트 URL'에서

제거 '앱 도메인'.

간단합니다.

(이것은 단지 당신이 테스트 ENV 병렬로 실행중인 시스템이없는 경우. 해당되는 경우 자신에게 다른 키를 얻을.)

0

는 또 다른 해결책은

https://ngrok.com/

NGROK

입니다

그것은 단순히

을 입력하여 내 레일 응용 프로그램에 로컬 응용 프로그램에

예를 공공 터널을 엽니 다3210

나는 당신이 당신의 위치를 ​​얻을 수 있도록 도와

http://630066fe.ngrok.com -> 127.0.0.1:3000