Zum Hauptinhalt springen

Automatisiertes Testen per Testkey

MTCaptcha unterstützt automatisierte Browser-UI/UX-Tests über Tools wie Selenium, ohne dass das Captcha-Plugin deaktiviert werden muss.

Code Generator Snippet

Es gibt zwei Methoden, um Automatisierungstestskripte zu aktivieren, die das Captcha konsistent lösen:

Method 1:

  • Rufen Sie die JavaScript-Funktion mtcaptcha.enableTestMode mit dem TestKey auf, sobald das MTCaptcha-Plugin geladen ist. Beispiel:
 <script>
mtcaptcha.enableTestMode(“<TestKey>”);
</script>
  • Geben Sie dann den Text ‘11111111’ in das Textformular des Captcha-Widgets ein

    (Die Eingabe einer anderen Zeichenfolge, z. B. 22222222, führt zu einem Überprüfungsfehler.)

Method 2:

  • Setzen Sie den <TestKey> über den JavaScript-Konfigurationsparameter enableTestMode
 <script>
var mtcaptchaConfig = {
“sitekey”: “<SiteKey>”,
“enableTestMode” : “<TestKey>”
};
...
</script>
  • Geben Sie dann den Text 11111111 in das Textformular des Captcha-Widgets ein

    (Die Eingabe einer anderen Zeichenfolge, z. B. 22222222, führt zu einem Überprüfungsfehler.) ‍

Wo finde ich den Testschlüssel?

Der Testschlüssel für jede Site befindet sich zusammen mit dem SiteKey und dem PrivateKey im Admin-Portal. Normalerweise mit dem Präfix MTPrivQA-. Hinweis: Der Testschlüssel sollte geheim gehalten werden.

Überprüfen Sie, ob Verifiedtoken das Ergebnis eines automatisierten Tests ist

Das Captcha erstellt ein VerifiedToken, sobald es mit einem TestKey gelöst wird, genauso, als ob ein Benutzer das Captcha manuell gelöst hätte.

Um zu überprüfen, ob ein VerifiedToken das Ergebnis der Verwendung des TestKey ist, enthalten die dekodierten Token-Informationen (JSON) den entsprechenden TokenInfo.code von 301 und den CodeDesc valid-test:captcha-solved-via-testkey. CheckToken-API-Antwort:

  {
"success": true,
"tokeninfo": {
"code": 301,
"codeDesc": "valid-test:captcha-solved-via-testkey",
...
}
}

Weitere Informationen zu VerifiedToken, CheckToken API und TokenInfo-Codes finden Sie in unserem Developers Guide - Validate Token.

NOTIZ:

Diese Funktion unterstützt automatisierte Unit-Tests für Benutzeroberflächen und Interaktionen. Sie ist nicht für lang andauernde Last- oder Leistungstests vorgesehen. Das Captcha kann bei längerer Belastung die IP(s) des Testservers vorübergehend blockieren.

REFERENZEN

Stack Overflow: How to call a JavaScript function from within Selenium

Stack Overflow: Selenium : Call javascript function on page.