2012-09-11 17 views
5

Me gustaría agregar un captcha, como reCaptcha, a una cierta funcionalidad en mi sitio. ¿Cómo podría adaptar mis pruebas de aceptación?¿Cómo se prueba la funcionalidad de la aplicación web protegida con captcha?

¿Es la única solución para deshabilitar el captcha en el sitio de ensayo?

Aclaración:

Por supuesto que no estoy hablando de la fuerza bruta de craqueo mi propio código de imagen, pero por ejemplo, alguna opción para inyectar un estado en el captcha desde el servidor que mi prueba conoce.

PD Mi código del lado del servidor utiliza el marco de la pirámide, y mis pruebas se escriben utilizando selenio

Respuesta

3

El punto es no probar Captcha con sus pruebas de Selenium - ¿Por qué gastar el esfuerzo significativo para probar una herramienta de terceros?

En su lugar, me realizaría una prueba de selenio que verifica que se está mostrando tu Captcha. Esto valida que tu Captcha esté presente y activo. Después de esa prueba desconectaré Captcha y procederé con tus otras pruebas de validación. También tengo un paso final para volver a activar Captcha y repetir la detección de prueba. Captcha está activo. De esta forma, se asegura de que no se haya perdido algo al reactivar Captcha.

+0

Me gusta más este enfoque que deshabilitar el todo de captcha, ya que puedo confiar en mis pruebas de aceptación para asegurarme de que el captcha está activo. Sin embargo, no estoy seguro de cómo implementar esto todavía. ¿Reiniciar y reconfigurar la aplicación entre pruebas? –

+0

Sí, necesitaría un paso entre sus pruebas para desactivar el Captcha. No estoy lo suficientemente familiarizado con esa plataforma para decir si necesita reiniciar su aplicación o no. Obviamente, necesitarás la acción opuesta de habilitar y posiblemente reiniciar cuando termines tu pase de prueba. –

5

Sí, la única opción es deshabilitar Captcha - por una muy buena razón. Si es bastante fácil evitarlo con Selenium, ¿por qué tendrías un Captcha en primer lugar?

+0

Ahora mismo mi puesta en escena es una copia exacta de la producción. Me temo que si agrego algo de lógica que detecta si estamos en etapas o en producción, me arriesgaré. ¿Qué sucede si el atacante tiene éxito en hacer que mi sitio piense que está en escena? Todos los captchas se habrían ido. –

+1

+1 para deshabilitar durante las pruebas de selenio. Normalmente tengo un archivo de configuración para aceptación y un archivo de configuración para producción. Aquí es donde pondría un parámetro de configuración, para 'captcha = verdadero/falso' –

+1

@JaspervandenBosch Estás en lo correcto, pero si un atacante puede hacer eso, preocuparse por la desactivación de CAPTCHA es la menor de tus preocupaciones. Es perfectamente lógico y razonable tener un código para detectar en qué entorno se está ejecutando. – Arran

1

Deshabilite el CAPTCHA mediante el uso de un código de prueba en el cuadro de entrada. Si el captcha falla pero coincide con el código de prueba, continúa.

Cuestiones relacionadas