2012-09-11 12 views
5

Ich möchte ein Captcha wie ReCaptcha zu einer bestimmten Funktionalität auf meiner Website hinzufügen. Wie kann ich meine Abnahmetests anpassen?Wie akzeptiert man die Captcha-geschützte Funktionalität von Webanwendungen?

Ist die einzige Lösung zum Deaktivieren der Captchas auf der Staging-Site?

Klarstellung:

Natürlich ich spreche nicht von Brute-Force meinen eigenen captcha Knacken, aber z eine Option, um von der Serverseite, die mein Test kennt, einen Status in das Captcha zu injizieren.

PS Mein Server-Seite Code verwendet die Pyramide Rahmen, und meine Tests geschrieben werden mit Selen

Antwort

3

Es geht nicht darum, Captcha mit Ihren Selenium-Tests zu testen - Warum sollten Sie sich die Mühe geben, ein Drittanbieter-Tool zu testen?

Stattdessen würde ich einen Selenium-Test haben, der überprüft, ob Ihr Captcha angezeigt wird. Dies bestätigt, dass Ihr Captcha vorhanden und aktiv ist. Nach diesem Test würde ich Captcha ausschalten und mit den anderen Validierungstests fortfahren. Ich hätte auch einen letzten Schritt, Captcha wieder einzuschalten und den Test zu wiederholen, der Captcha erkennt, ist aktiv. Auf diese Weise stellen Sie sicher, dass Sie bei der Reaktivierung von Captcha nichts übersehen haben.

+0

Ich mag diesen Ansatz besser, als Captchas zu deaktivieren, da ich mich auf meine Abnahmetests verlassen kann, um sicherzustellen, dass die Captchas funktionieren. Ich bin mir jedoch nicht sicher, wie ich das noch umsetzen soll. Starten Sie die App neu und konfigurieren Sie sie zwischen den Tests neu? –

+0

Ja, Sie brauchen einen Schritt zwischen Ihren Tests, um das Captcha auszuschalten. Ich kenne diese Plattform nicht gut genug, um zu sagen, ob Sie Ihre App neu starten müssen oder nicht. Offensichtlich würden Sie die entgegengesetzte Aktion des Aktivierens und möglicherweise des Neustartens benötigen, während Sie Ihren Testdurchlauf beenden. –

5

Ja, die einzige Option CAPTCHA deaktivieren - für einen sehr guten Grund. Wenn es einfach genug ist, Selenium zu umgehen, warum sollte man überhaupt ein Captcha haben?

+0

Im Moment ist meine Inszenierung eine exakte Kopie der Produktion. Ich fürchte, wenn ich eine Logik hinzufüge, die feststellt, ob wir Inszenierung oder Produktion sind, stoße ich auf Risiken. Was passiert, wenn es dem Angreifer gelingt, meine Website beim Staging zu berücksichtigen? Alle Captchas wären weg. –

+1

+1 für die Deaktivierung während Selen-Tests. Ich habe normalerweise eine Konfigurationsdatei für die Annahme und eine Konfigurationsdatei für die Produktion. Hier würde ich einen Config-Parameter für 'captcha = true/false 'setzen. –

+1

@JaspervandenBosch Sie haben Recht, aber wenn ein Angreifer das kann, ist die Sorge, dass CAPTCHA deaktiviert ist, die geringste Sorge. Es ist vollkommen logisch und vernünftig, Code zu haben, um zu erkennen, in welcher Umgebung Sie arbeiten. – Arran

1

Deaktivieren Sie das CAPTCHA mithilfe eines Testcodes im Eingabefeld. Wenn das Captcha fehlschlägt, aber mit dem Testcode übereinstimmt, fahren Sie fort.