2012-09-11 10 views
5

Vorrei aggiungere un captcha, ad esempio reCaptcha, a una determinata funzionalità sul mio sito. Come posso adattare i miei test di accettazione?Come accettare le funzionalità dell'applicazione web protetta con captcha?

È l'unica soluzione per disabilitare i captcha sul sito di staging?

Chiarimento:

Naturalmente non parlo di forza bruta di cracking mia captcha, ma per esempio qualche opzione per iniettare uno stato nel captcha dal lato server che il mio test conosce.

PS Il mio codice lato server utilizza il framework Piramide, e le mie prove sono scritti utilizzando Selenio

risposta

3

Il punto non è quello di testare Captcha con i test di selenio - Perché spendere uno sforzo significativo per testare uno strumento di terze parti?

Invece, avrei un test di selenio che verifica che il tuo Captcha si sta mostrando. Ciò convalida che il tuo Captcha è presente e attivo. Dopo questo test spengo Captcha e procedo con gli altri test di validazione. Avrei anche un ultimo passaggio per riattivare Captcha e ripetere il test che rileva che Captcha è attivo. In questo modo ti stai assicurando di non aver perso qualcosa durante la riattivazione di Captcha.

+0

Mi piace questo approccio meglio di disabilitare tutto il captcha, dal momento che posso fare affidamento sui miei test di accettazione per assicurarmi che i captcha siano attivi. Tuttavia non sono sicuro di come implementarlo ancora. Riavvia e riconfigura l'app tra un test e l'altro? –

+0

Sì, è necessario un passaggio tra i test per disattivare Captcha. Non conosco abbastanza bene questa piattaforma per dire se avresti bisogno di riavviare la tua app o meno. Ovviamente avresti bisogno dell'azione opposta di abilitare e riavviare possibilmente mentre stai finendo il test pass. –

5

Sì, l'unica opzione è la disabilitazione Captcha - per una buona ragione. Se è abbastanza facile bypassarlo con il selenio, perché dovresti avere un captcha in primo luogo?

+0

In questo momento la mia messa in scena è una copia esatta della produzione. Temo che se aggiungo una logica che rileva se siamo in scena o in produzione, corro dei rischi. Che cosa succede se l'autore dell'attacco riesce a far sì che il mio sito sia in fase di allestimento? Tutti i captcha sarebbero andati. –

+1

+1 per disabilitazione durante i test del selenio. Di solito ho un file di configurazione per l'accettazione e un file di configurazione per la produzione. Questo è il posto dove metterei un parametro di configurazione, per 'captcha = true/false' –

+1

@JaspervandenBosch Hai ragione, ma se un hacker può farlo, preoccuparsi del fatto che CAPTCHA sia disabilitato è l'ultima delle tue preoccupazioni. È perfettamente logico e ragionevole disporre del codice per rilevare l'ambiente in cui si sta lavorando. – Arran

1

Disabilitare il CAPTCHA utilizzando un codice di test nella casella di input. Se il captcha fallisce ma corrisponde al codice del test, continua.

Problemi correlati