2012-01-13 3 views
5

¿Alguien tiene experiencia en el uso de Selenium para automatizar las pruebas de una aplicación web que utiliza Facebook Connect para el inicio de sesión del usuario? ¿Algún consejo o método que recomiendas?¿Está probando una aplicación de Facebook Connect usando Selenium?

+0

Hubo también un post de Facebook ingeniero hace algún tiempo, el enlace en el post es obsoleta sin embargo, y menciones Watir. http: //developers.facebook.com/blog/post/305/ – David

+0

Lamentablemente, la publicación del blog FB ya no está. Pero esta API para probar puede ser útil: https://developers.facebook.com/docs/test_users/ – David

Respuesta

1

Depende de lo que quiere hacer?

  1. ¿Va a utilizar un usuario real de Facebook (que es un teléfono verificado por Facebook)?

    Más seguro y más confiable, pero muy difícil (imposible) para reunir usuarios "reales" (teléfono verificado por FB).

    En términos de definir aspectos de los detalles de usuario/conexiones, como historial de educación, historial de trabajo, nombre, edad, etc. (especialmente si no tiene acceso a todas las cuentas de Facebook "reales").

  2. usuarios de Facebook falsa creada para probar la aplicación (no verificado por Fb)?

    Probablemente el más fácil de configurar, ya que todos son usuarios falsos, no se requiere verificación telefónica (con FB). Pero deberían crearse ID de correo electrónico para todos los usuarios.

    Aunque la información de conexión se puede adaptar a su gusto. Uno de los principales inconvenientes (y me ha sucedido a mí), es que si Fb detecta que el usuario no es legítimo, FB congelaría todas las cuentas. Lo cual haría que todas sus Fb específicas del usuario prueben automaticamente todas inútiles en un abrir y cerrar de ojos. Y no hay mucho que pueda hacer (a menos que planee obtener una nueva conexión telefónica para verificar esas cuentas, no se permiten números de google, ni skype, ni teléfonos basados ​​en ip. FB es muy estricto con eso). También un número puede autorizar solo 1 cuenta.

  3. ¿Va a utilizar las API de Facebook para crear usuarios de prueba Fb?

    Probablemente la forma ideal (de acuerdo con FB) para usar Facebook connect para probar su aplicación. haga clic en here para obtener documentación sobre cómo usarlo.

    Puede parecer sencillo, pero tiene sus caídas (las más importantes). Muy ininteligible, la API devuelve un error 10-20% del tiempo, y extremadamente lento en los otros tiempos. No hay forma de recuperar la contraseña de un usuario de prueba FB si se extravió una vez. La información de conexión no se puede personalizar fácilmente. Se requiere una gran cantidad de esfuerzo para configurarlo sin estar seguro de que funcione cada vez.

He optado personalmente por la segunda opción. Facebook detecta la legitimidad del usuario (supongo) en base a inicios de sesión paralelos a través de múltiples ips. Tengo RC de selenio que se ejecutan en varios servidores, que ejecutan estas pruebas en paralelo, lo que podría haber planteado una bandera roja. Así que solo programo estos scripts de una manera más organizada, para evitar superposiciones de inicio de sesión.

Espero que en esta larga explicación encuentre su respuesta. :)


Para la ejecución del Perl -

$sel->start(); 
$sel->open_ok("$URL"); 
$sel->set_speed("500"); 
$sel->click_ok("//img[\@alt='Facebook']",'User clicks on Facebook Login'); 
$sel->wait_for_pop_up_ok("", "30000",'Facebook Login Popup Loading'); 
$sel->select_pop_up("null");  
$sel->type_ok("email", "email\@email.com",'User enters Facebook credentials - Username'); 
$sel->type_ok("pass", "password",'User enters Facebook credentials - Password'); 
$sel->key_press("pass", "\\13",'User returns Facebook Login credentials'); 
$sel->select_window("null"); 
+1

¿Existe realmente un método select_pop_up()? ¿O solo para Perl? No lo veo en la API de Java (http://release.seleniumhq.org/selenium-remote-control/0.9.2/doc/java/) – David

Cuestiones relacionadas