¿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?
Respuesta
Depende de lo que quiere hacer?
¿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").
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.
¿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");
¿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
- 1. Probando antes de descargar eventos de Selenium
- 2. probando una aplicación web
- 3. Unidad probando una aplicación Http
- 4. Unidad probando una aplicación Firemonkey
- 5. ¿Está probando aplicaciones VSTO?
- 6. Unidad probando una aplicación multiproceso?
- 7. Probando el rendimiento de una aplicación C++
- 8. Eliminación de una aplicación en iTunes Connect
- 9. Unidad probando una clase de aplicación Flask
- 10. Unidad probando una aplicación basada en temporizador?
- 11. ¿Está probando una actualización de adb, frente a la instalación?
- 12. Probando la aplicación Mongoose Node.JS
- 13. Eliminar una nueva versión de aplicación de iTunes Connect
- 14. Selenium 2 Grid - Conocer qué nodo está usando su prueba
- 15. ¿Está probando su código de velocidad?
- 16. Acciones de registro usando Selenium
- 17. IU automatizada probando una aplicación grande de formularios C#
- 18. Probando la igualdad de cadenas usando hashCode()
- 19. Probando si existe una MessageQueue remota (usando C#)
- 20. ¿Está probando propiedades QuickCheck contra varios tipos?
- 21. ¿Está probando un servicio de accesibilidad de Android?
- 22. Ventana emergente en blanco con FB connect
- 23. Probando alertas de Javascript con Capybara
- 24. probando una clase interna
- 25. Usando if/else en selenium ide
- 26. ¿Cómo configuro una opción como seleccionada usando el cliente Selenium WebDriver (selenium 2.0) en ruby
- 27. Lectura de texto usando selenium webdriver (xpath)
- 28. Integración automatizada probando una aplicación C++ con una base de datos
- 29. Selenium Unit Test usando JUnit (Java)
- 30. probando perl una vez instalado
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
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