Automatisiertes Testen per Testkey
MTCaptcha unterstützt automatisierte Browser-UI/UX-Tests über Tools wie Selenium, ohne dass das Captcha-Plugin deaktiviert werden muss.
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-KonfigurationsparameterenableTestMode
<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.