testing - para - Desarrollando y probando una aplicación de Facebook
facebook messenger beta (8)
La forma en que yo y mi compañero lo hicimos fue que creamos nuestras propias aplicaciones privadas de Facebook, que apuntaban a nuestra dirección IP donde trabajamos en ella. Como trabajábamos en el mismo lugar, cada uno elegía un puerto diferente y nuestro enrutador enviaba ese puerto a nuestra dirección IP local. Fue un poco lento para actualizar una página, pero funcionó muy bien.
Normalmente desarrollo mis sitios web en el enlace troncal, luego fusiono los cambios en una rama de prueba donde se colocan en un sitio web ''beta'', y finalmente se fusionan en una rama activa y se colocan en el sitio web en vivo.
Con una aplicación de Facebook, las cosas son un poco complicadas. Como no puede ver una aplicación de Facebook a través de un navegador web normal (tiene que pasar por los servidores de Facebook), no puede asignar fácilmente a cada desarrollador su propia versión del sitio web para trabajar y probar.
No me he encontrado con la mejor manera de desarrollar y probar una aplicación de Facebook mientras sigo teniendo un sitio web en vivo estable que los usuarios pueden usar. Mi pregunta es: ¿cuál es la mejor práctica para organizar el desarrollo y las pruebas de una aplicación de Facebook?
La mejor manera de hacer esto:
Eliminar ''App Domain'' de ''Información básica''
Establezca la "URL del sitio" del sitio web a: "http: // localhost /".
Así de simple.
(Esto solo se aplica si no tiene un sistema activo que se ejecute en paralelo al entorno de prueba. En ese caso obtenga otra clave).
Lo tenemos configurado muy parecido a Toby. Una serie de archivos de configuración para cada desarrollador, que tiene la información de identificación de la aplicación de Facebook (una aplicación diferente para cada desarrollador), páginas separadas donde se aloja la aplicación, y git ignora los archivos de configuración. Somos LAMP con Code Igniter, y es similar a Rails en cuanto a que podemos configurar el entorno en 1 archivo, que apunta a la configuración con las constantes de Facebook.
Se ramifica en Selenio, usando pruebas unitarias para pruebas de modelo.
Otra solución es NGROK
Abre un túnel público a su aplicación local
Ejemplo en mi aplicación de rieles simplemente escribiendo
./ngrok 3000
yo obtengo
http://630066fe.ngrok.com -> 127.0.0.1:3000
Para pruebas locales simplemente usamos una aplicación diferente que para el servidor. En nuestro caso, Canvas-URL se establece en localhost.local: 8000.
Solo debe asegurarse de que cuando usa Facebook connect, escriba localhost.local en el campo de dirección del navegador y no solo en el localhost.
Para probar un lienzo o una aplicación de pestañas, es más rápido si utiliza el comando ''abrir iframe en una pestaña nueva'' de Firefox. De esta forma, se preservan la sesión y las cookies de Facebook.
Probar las aplicaciones de FB sigue siendo un proceso bastante primitivo.
Generalmente configuro una aplicación de prueba que es una copia completa de la configuración de producción dentro del entorno de desarrollo de FB que utiliza un túnel SSH para apuntar a mi servidor de desarrollo. Puede configurar tantas aplicaciones como necesite dentro de FB: generalmente tengo una aplicación de desarrollo, una aplicación de ensayo y producción. La puesta en escena y la producción se realizan en servidores "activos" en lugar de en un túnel SSH.
En su aplicación, utilice las herramientas de lenguaje / marco / servidor a su disposición para cambiar la configuración de FB en función del servidor. En Rails, la gema Facebooker en realidad tiene compatibilidad incorporada para diferentes configuraciones de FB.
Una vez que todo esto se hace, la prueba es, lamentablemente, una cuestión de ejecutar la aplicación dentro de FB. Uso Selenium para automatizar la mayor cantidad de esto posible.
Tendrá que agregar las versiones troncal y de prueba como diferentes aplicaciones y probarlas usando cuentas de prueba . También puede usar una sola aplicación y cambiar su URL objetivo entre ciclos.
Intente actualizar su archivo hosts (for windows users @ c:/windows/System32/Drivers/etc/hosts)
con una entrada que enrutará todas las solicitudes desde su dominio en vivo a su máquina.
Entonces 127.0.0.1 mywebappthatusesfacebook.com.
Luego, asegúrese de que su aplicación se ejecute en la raíz de su servidor web. @ http://localhost/ Luego goto mywebappthatusesfacebook.com en su navegador y debería redireccionar directamente a su máquina local. Facebook no sabrá la diferencia. Espero que esto ayude