Обычно я разрабатываю свои веб-сайты в магистрали, затем объединяю изменения в тестовую ветку, где они помещаются на «бета-сайт», а затем, наконец, они объединяются в действующую ветку и размещаются на действующем веб-сайте.
С приложением Facebook все немного сложнее. Поскольку вы не можете просматривать приложение Facebook через обычный веб-браузер (оно должно проходить через серверы Facebook), вы не можете легко предоставить каждому разработчику собственную версию веб-сайта для работы и тестирования.
Я не нашел ничего о том, как лучше всего разработать и протестировать приложение Facebook, сохранив при этом стабильный действующий веб-сайт, который пользователи могут использовать. У меня такой вопрос: как лучше всего организовать разработку и тестирование приложения Facebook?





Я и мой партнер сделали это так, что каждый из нас создавал свои собственные частные приложения для Facebook, которые указывали на наш IP-адрес, над которым мы работали. Поскольку мы работали в одном месте, каждый из нас выбрал другой порт, и наш маршрутизатор перенаправил этот порт на наш локальный IP-адрес. Обновление страницы было довольно медленным, но работало очень хорошо.
Вам нужно будет добавить как магистральную, так и тестовую версии как разные приложения и протестировать их с помощью тестовые аккаунты. Вы также можете использовать одно приложение и переключать его целевой URL-адрес между циклами.
Тестирование приложений FB - пока довольно примитивный процесс.
Обычно я устанавливаю тестовое приложение, которое представляет собой полную копию производственных настроек в среде разработки FB, которая использует туннель SSH для указания на мой сервер разработки. Вы можете установить столько приложений, сколько вам нужно внутри FB - у меня обычно есть приложение для разработки, промежуточное приложение и продакшн. И промежуточная, и производственная версии находятся на «живых» серверах, а не в туннеле SSH.
Затем в своем приложении вы используете любой язык / фреймворк / серверные инструменты, имеющиеся в вашем распоряжении, для переключения конфигурации FB в зависимости от сервера. В Rails гем Facebooker фактически имеет встроенную поддержку различных конфигураций FB.
После того, как все это будет сделано, тестирование, к сожалению, по-прежнему остается вопросом запуска приложения в самом FB. Я использую Selenium, чтобы максимально автоматизировать это.
Попробуйте обновить файл хостов (for windows users @ c:\windows\System32\Drivers\etc\hosts), добавив в него запись, которая будет направлять все запросы из вашего действующего домена обратно на ваш компьютер.
Итак, 127.0.0.1 mywebappthatusesfacebook.com.
Затем убедитесь, что ваше приложение работает в корне вашего веб-сервера. @ http: // localhost / Затем перейдите на mywebappthatusesfacebook.com в своем браузере, и он должен перенаправить обратно на ваш локальный компьютер. Facebook не заметит разницы. Надеюсь это поможет
Вы можете подробно объяснить, как мне это сделать?
Работает офигенно !! Такое простое решение. Я бы проголосовал 100 раз, если бы мог
У нас он настроен так же, как у Тоби. Набор файлов конфигурации для каждого разработчика, в которых есть информация об идентификаторе приложения Facebook (отдельное приложение для каждого разработчика), отдельные страницы, на которых размещено приложение, и git игнорирует файлы конфигурации. Мы LAMP с Code Igniter, и он похож на Rails в том, что мы можем установить среду в 1 файл, который указывает на конфигурацию с константами Facebook.
Переход к Selenium с использованием модульных тестов для тестирования моделей.
Для локального тестирования мы просто используем приложение, отличное от приложения для сервера. В нашем случае Canvas-URL установлен на localhost.local: 8000.
Вам нужно только убедиться, что при использовании подключения к facebook вы вводите localhost.local в поле адреса браузера, а не только localhost.
Для тестирования приложения с холстом или вкладкой это будет быстрее, если вы используете команду Firefox «открыть iframe в новой вкладке». Таким образом, сеанс и файлы cookie из Facebook сохраняются.
почему localhost.local лучше, чем просто localhost?
Я не тестировал его сейчас, но раньше просто localhost не работал. (По крайней мере, в 2011 году)
Лучший способ сделать это:
Удалите "Домен приложения" из "Основная информация"
Установите "URL-адрес сайта" веб-сайта на "http: // localhost /".
Так просто.
(Это применимо только в том случае, если у вас нет действующей системы, работающей параллельно с тестовой средой. В этом случае получите другой ключ.)
Другое решение - NGROK
Он открывает общедоступный туннель к вашему локальному приложению
Пример в моем приложении rails, просто набрав
./ngrok 3000
я получил
http://630066fe.ngrok.com -> 127.0.0.1:3000
Это поможет вам попасть на ваш сайт. Но серверы Facebook до этого не доберутся.