2008-09-02 191 views
41

通常,我在主幹上開發我的網站,然後將更改合併到測試分支,放到「測試」網站上,最後將它們合併到活動分支上並投入實況網站。開發和測試Facebook應用程序

使用Facebook應用程序的事情有點棘手。由於您無法通過普通的網絡瀏覽器查看Facebook應用程序(它必須通過Facebook服務器),因此您無法輕易地向每個開發人員提供他們自己的網站版本以使用和測試。

我還沒有遇到任何關於開發和測試Facebook應用程序的最佳方式,同時還有一個穩定的用戶可以使用的現場網站。我的問題是,組織開發和測試Facebook應用程序的最佳做法是什麼?

回答

14

我和我的合作伙伴做到這一點的方式是我們每個人都製作了我們自己的私人Facebook應用程序,這些應用程序指向我們所在的IP地址。由於我們在同一個地方工作,我們每個人選擇了一個不同的端口,並讓我們的路由器將該端口轉發到我們的本地IP地址。刷新頁面的速度有點慢,但效果非常好。

6

您必須添加中繼線和測試版本作爲不同的應用程序,並使用test accounts進行測試。您也可以使用單個應用程序並在週期之間切換其目標URL。

5

測試FB應用程序仍然是一個相當原始的過程。

我通常設置一個測試應用程序,它是使用SSH隧道指向我的開發服務器的FB開發環境內的生產設置的完整副本。您可以在FB中設置儘可能多的應用程序 - 我通常有一個開發應用程序,一個應用程序和生產。暫存和生產都在「實時」服務器上,而不是SSH隧道中。

在您的應用程序中,您可以使用任何語言/框架/服務器工具隨時根據服務器切換FB配置。在Rails中,Facebooker gem實際上已經支持不同的FB配置。

一旦完成了所有這些,不幸的是,測試仍然是在FB本身內運行應用程序的問題。我使用Selenium儘可能多地自動化。

22

嘗試更新您的主機文件(for windows users @ c:\windows\System32\Drivers\etc\hosts),該條目會將來自活動域的所有請求路由回您的機器。

所以127.0.0.1 mywebappthatusesfacebook.com.

然後確保你的應用程序在你的網絡服務器的根目錄運行。 @http://localhost/然後在您的瀏覽器中轉到mywebappthatusesfacebook.com,它應該重定向到您的本地機器。 Facebook不會知道其中的差別。希望這可以幫助

+5

,可以幫助您得到您的網站。但Facebook的服務器將無法實現。 – Rory 2011-01-28 12:07:18

+0

你能詳細解釋我該怎麼做嗎? – 2011-03-10 04:32:25

1

我們把它設置的很像託比。每個開發人員的一系列配置文件,其中包含Facebook應用程序標識信息(針對每個開發人員的不同應用程序),將應用程序託管的頁面分開,git忽略配置文件。我們是使用Code Igniter的LAMP,和Rails類似,我們可以將環境設置爲1個文件,該文件指向帶有Facebook常量的配置。

分支出Selenium,使用單元測試進行模型測試。

1

對於本地測試,我們只是使用與服務器不同的應用程序。在我們的例子中,Canvas-URL被設置爲localhost.local:8000。

你只需要確保當你使用Facebook連接,你輸入localhost.local到瀏覽器的地址字段,而不僅僅是localhost。

對於測試畫布或選項卡應用程序,如果您使用Firefox的「在新選項卡中打開iframe」命令,速度會更快。這樣來自Facebook的會話和cookie被保留。要做到這一點

4

最好的辦法: 「HTTP://本地主機/」

從 '基本信息'

設置網站的 '網站網址' 刪除 '應用程序域'。

那很簡單。

(如果你沒有在平行於試驗ENV運行的實時系統,這僅適用。在那種情況下讓自己的另一個關鍵。)

0

另一種解決方案是NGROK

https://ngrok.com/

它只需鍵入

打開一個公共隧道到本地應用

例如在我的Rails應用程序3210

我得到

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