¿Está probando una aplicación de Facebook Connect usando Selenium?
automated-tests selenium-rc (1)
¿Depende de lo que quieras hacer?
¿Va a utilizar un usuario real de Facebook (que es 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").
¿Usuarios de Facebook falsos creados para probar la aplicación (no verificados 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 los ID de correo electrónico para todos los usuarios deberían ser creados.
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 que haría todas las pruebas automatizadas específicas de usuario de Fb 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.
¿Usará las API de Facebook para crear usuarios de prueba Fb?
Probablemente sea la forma ideal (según FB) de usar Facebook connect para probar tu aplicación. haga clic aquí 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.
Personalmente he optado por la segunda opción. Facebook detecta la legitimidad del usuario (creo) 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 encuentres tu respuesta. :)
Para la implementación de 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");
¿Alguien tiene experiencia en el uso de Selenium para automatizar las pruebas de una aplicación web que usa Facebook Connect para el inicio de sesión del usuario? ¿Algún consejo o método que recomiendas?