开发和测试Facebook应用程序

开发和测试Facebook应用程序

Developing and Testing a Facebook application

通常,我在主干上开发我的网站,然后将更改合并到测试分支,然后将其放在"测试版"网站上,最后将它们合并到活动分支中,然后放入活动网站。

使用Facebook应用程序时,有些棘手。 由于您无法通过普通的Web浏览器查看Facebook应用程序(必须通过Facebook服务器),因此您无法轻松地为每个开发人员提供自己的网站版本以进行测试。

在继续拥有一个可供用户使用的稳定实时网站的同时,我还没有找到有关开发和测试Facebook应用程序的最佳方法的任何信息。 我的问题是,组织Facebook应用程序的开发和测试的最佳实践是什么?


尝试使用一个条目更新主机文件(for windows users @ c:\\windows\\System32\\Drivers\\etc\\hosts),该条目会将来自活动域的所有请求路由回您的计算机。

所以127.0.0.1 mywebappthatusesfacebook.com.

然后,确保您的应用程序正在Web服务器的根目录下运行。 @ http:// localhost /然后在浏览器中转到mywebappthatusesfacebook.com,它应立即重定向回您的本地计算机。 Facebook不知道区别。希望这可以帮助


我和我的合作伙伴这样做的方式是,我们每个人都制作了自己的私有Facebook应用程序,该应用程序指向我们在其中工作的IP地址。由于我们在同一个地方工作,因此我们每个人都选择了一个不同的端口,并将路由器转发给该端口到我们的本地IP地址。刷新页面有点慢,但是效果很好。


您必须同时将主干版本和测试版本添加为不同的应用程序,并使用测试帐户对其进行测试。您也可以使用单个应用程序,并在周期之间切换其目标URL。


测试FB应用程序仍然是一个相当原始的过程。

我通常会设置一个测试应用程序,该应用程序是FB开发环境中生产设置的完整副本,该开发环境使用SSH隧道指向我的开发服务器。您可以在FB中根据需要设置任意数量的应用程序-我通常有一个开发应用程序,一个暂存应用程序和产品。暂存和生产都在"实时"服务器上,而不是在SSH隧道上。

然后,在您的应用程序中,可以使用任何可用的语言/框架/服务器工具来根据服务器切换FB配置。在Rails中,Facebooker gem实际上内置了对不同FB配置的支持。

一旦完成所有这些操作,不幸的是,测试仍然是在FB本身中运行应用程序的问题。我使用Selenium来使尽可能多的自动化。


最好的方法是:

从"基本信息"中删除"应用程序域"

将网站的"站点URL"设置为:" http:// localhost /"。

这么简单。

(这仅适用于没有与测试环境并行运行的实时系统的情况。在这种情况下,请给自己另一个密钥。)


对于本地测试,我们只使用与服务器不同的应用程序。在我们的例子中,Canvas-URL设置为localhost.local:8000。

您只需要确保在使用facebook connect时,可以在浏览器的地址字段中输入localhost.local而不是localhost。

如果您使用Firefox的"在新标签页中打开iframe"命令,则对于测试画布或标签页应用程序,它会更快。这样可以保留来自Facebook的会话和cookie。


我们的设置非常类似于Toby。每个开发人员的一系列配置文件,包括Facebook APP ID信息(每个开发人员一个不同的应用程序),托管该应用程序的单独页面,以及git忽略配置文件。我们是使用Code Igniter的LAMP,它与Rails相似,因为我们可以在1个文件中设置环境,该文件指向带有Facebook常量的配置。

使用单元测试进行模型测试,从而扩展到Selenium中。


另一个解决方案是NGROK

https://ngrok.com/

它为您的本地应用程序打开了一条公共隧道

只需输入以下内容即可在我的Rails应用程序中使用示例

1
./ngrok 3000

我懂了

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


推荐阅读