2008-09-02 36 views
41

Thông thường tôi phát triển trang web của mình trên thân cây, sau đó hợp nhất các thay đổi cho chi nhánh thử nghiệm nơi chúng được đặt trên trang web 'beta' và cuối cùng chúng được hợp nhất thành nhánh sống và được đưa vào trang mạng.Phát triển và thử nghiệm ứng dụng Facebook

Với ứng dụng Facebook, mọi thứ hơi phức tạp một chút. Vì bạn không thể xem ứng dụng Facebook thông qua trình duyệt web thông thường (nó phải đi qua các máy chủ Facebook), bạn không thể dễ dàng cung cấp cho mỗi nhà phát triển phiên bản trang web của riêng họ để làm việc và thử nghiệm.

Tôi chưa từng thấy bất cứ điều gì về cách tốt nhất để phát triển và thử nghiệm ứng dụng Facebook trong khi vẫn tiếp tục có một trang web trực tuyến ổn định mà người dùng có thể sử dụng. Câu hỏi của tôi là, thực hành tốt nhất để tổ chức phát triển và thử nghiệm ứng dụng Facebook là gì?

Trả lời

14

Cách tôi và đối tác của tôi làm điều đó là mỗi chúng tôi đã thực hiện các ứng dụng Facebook riêng tư của chúng tôi, chỉ vào địa chỉ IP của chúng tôi nơi chúng tôi đã làm việc trên đó. Vì chúng tôi đã làm việc ở cùng một nơi, chúng tôi đã chọn một cổng khác nhau và đã có bộ định tuyến chuyển tiếp cổng đó đến địa chỉ IP cục bộ của chúng tôi. Đó là kinda chậm để làm mới một trang, nhưng nó đã làm việc rất độc đáo.

6

Bạn sẽ phải thêm cả phiên bản thân và thử nghiệm làm các ứng dụng khác nhau và kiểm tra chúng bằng cách sử dụng test accounts. Bạn cũng có thể sử dụng một ứng dụng duy nhất và chuyển đổi URL mục tiêu của nó giữa các chu kỳ.

5

Thử nghiệm các ứng dụng FB vẫn là một quá trình khá nguyên thủy.

Tôi thường thiết lập một ứng dụng thử nghiệm là bản sao hoàn chỉnh các cài đặt sản xuất bên trong môi trường phát triển FB sử dụng đường hầm SSH để trỏ đến máy chủ phát triển của tôi. Bạn có thể thiết lập nhiều ứng dụng như bạn cần bên trong FB - Tôi thường có một ứng dụng phát triển, một ứng dụng dàn dựng và sản xuất. Dàn dựng và sản xuất đều trên các máy chủ "sống" thay vì đường hầm SSH.

Trong ứng dụng của bạn, bạn sử dụng bất kỳ công cụ ngôn ngữ/khuôn khổ/máy chủ nào theo ý của bạn để chuyển đổi cấu hình FB dựa trên máy chủ. Trong Rails, đá quý Facebooker thực sự đã hỗ trợ cho các cấu hình FB khác nhau.

Sau khi tất cả được thực hiện, thử nghiệm, thật không may, vẫn còn là vấn đề chạy ứng dụng trong chính FB. Tôi sử dụng Selenium để tự động hóa càng nhiều càng tốt.

22

Hãy thử cập nhật tệp máy chủ của bạn (for windows users @ c:\windows\System32\Drivers\etc\hosts) với mục nhập sẽ định tuyến tất cả yêu cầu từ miền trực tiếp của bạn trở lại máy của bạn.

Vì vậy 127.0.0.1 mywebappthatusesfacebook.com.

Sau đó, hãy chắc chắn rằng ứng dụng của bạn đang chạy ở thư mục gốc của máy chủ web của bạn. @http://localhost/ Sau đó, goto mywebappthatusesfacebook.com trong trình duyệt của bạn và nó sẽ chuyển hướng quay lại ngay máy cục bộ của bạn. Facebook sẽ không biết sự khác biệt. Hy vọng điều này sẽ giúp

+5

Điều đó giúp bạn có thể trang web của bạn. Nhưng các máy chủ của Facebook sẽ không nhận được nó. – Rory

+0

bạn có thể giải thích chi tiết làm thế nào để tôi làm điều đó? –

+1

Hoạt động tuyệt vời !! Một giải pháp đơn giản như vậy. Tôi đã có thể upvoted 100 lần nếu tôi có thể –

1

Chúng tôi thiết lập nó giống như Toby. Một loạt các tệp cấu hình cho mỗi nhà phát triển, có thông tin Id ứng dụng Facebook (một ứng dụng khác nhau cho từng nhà phát triển), các trang riêng biệt nơi ứng dụng được lưu trữ và git bỏ qua các tệp cấu hình. Chúng tôi là LAMP với Code Igniter, và nó tương tự như Rails trong đó chúng ta có thể thiết lập môi trường trong 1 tập tin, trỏ đến cấu hình với các hằng số Facebook.

Phân nhánh thành Selenium, sử dụng các kiểm tra đơn vị để thử nghiệm mô hình.

1

Để thử nghiệm cục bộ, chúng tôi chỉ cần sử dụng một ứng dụng khác với ứng dụng cho máy chủ. Trong trường hợp của chúng ta, Canvas-URL được đặt thành localhost.local: 8000.

Bạn chỉ cần đảm bảo rằng khi bạn sử dụng kết nối facebook bạn nhập vào localhost.local vào trường địa chỉ của trình duyệt chứ không phải chỉ localhost.

Để thử nghiệm ứng dụng canvas hoặc tab, nhanh hơn nếu bạn sử dụng lệnh 'mở khung nội tuyến trong tab mới' của Firefox. Bằng cách này, phiên và cookie từ Facebook được giữ nguyên.

+0

tại sao' localhost.local' tốt hơn chỉ là 'localhost'? –

+0

Tôi chưa thử nghiệm nó ngay bây giờ nhưng chỉ localhost được sử dụng để không hoạt động. (Ít nhất trong năm 2011) – sbaechler

4

Cách tốt nhất để làm điều này:

Remove 'App miền' từ 'Thông tin cơ bản'

Set trang web của 'Site URL' để: "http: // localhost /".

Điều đó đơn giản.

(Điều này chỉ áp dụng nếu bạn không có một hệ thống sống chạy song song với việc env thử nghiệm. Trong trường hợp đó có được cho mình chìa khóa khác.)

0

giải pháp khác là NGROK

https://ngrok.com/

Nó mở ra một đường hầm nào để ứng dụng địa phương của bạn

Ví dụ về ứng dụng ray của tôi bằng cách đơn giản gõ

./ngrok 3000 

tôi nhận được

http://630066fe.ngrok.com -> 127.0.0.1:3000 
Các vấn đề liên quan