Saltar al contenido principal

Pruebas Automatizadas con Testkey

MTCaptcha admite pruebas automatizadas de UI/UX en navegadores mediante herramientas como Selenium, sin necesidad de desactivar el plugin de captcha.

Code Generator Snippet

Existen dos métodos para habilitar que los scripts de prueba de automatización resuelvan el captcha de forma consistente:

Método 1:

  • Llamar a la función de JavaScript mtcaptcha.enableTestMode con la TestKey, una vez que el plugin de MTCaptcha se haya cargado. Ejemplo:
 <script>
mtcaptcha.enableTestMode(“<TestKey>”);
</script>
  • Luego ingresa el texto ‘11111111’ en el campo de texto del widget de captcha

    (ingresar cualquier otra cadena, por ejemplo ‘22222222’, resultará en un fallo de verificación)

Método 2:

  • Establecer la <TestKey> mediante el parámetro de configuración de JavaScript enableTestMode
 <script>
var mtcaptchaConfig = {
“sitekey”: “<SiteKey>”,
“enableTestMode” : “<TestKey>”
};
...
</script>
  • Luego ingresa el texto ‘11111111’ en el campo de texto del widget de captcha

    (ingresar cualquier otra cadena, por ejemplo ‘22222222’, resultará en un fallo de verificación)

¿Dónde puedo encontrar la TestKey?

La TestKey de cada sitio se puede encontrar en el Portal de Administración junto con la SiteKey y la PrivateKey. Generalmente tiene el prefijo ‘MTPrivQA-’. Nota: La TestKey debe mantenerse en secreto.

Verificar si el VerifiedToken es Resultado de una Prueba Automatizada

El captcha generará un VerifiedToken una vez resuelto utilizando una TestKey, de la misma manera que si un usuario hubiera resuelto el captcha manualmente.

Para comprobar si un VerifiedToken es el resultado de usar la TestKey, la información decodificada del token (JSON) tendrá el campo correspondiente TokenInfo.code con valor 301 y codeDesc con el texto ‘valid-test:captcha-solved-via-testkey’. Respuesta de la API CheckToken:

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

Consulta nuestra Guía para Desarrolladores - Validar Token para más información sobre VerifiedToken, la API CheckToken y los Códigos de TokenInfo.

NOTA:

El propósito de esta función es admitir pruebas unitarias automatizadas para la interfaz de usuario y sus interacciones. No está pensada para admitir pruebas de carga o rendimiento de larga duración. El captcha puede bloquear temporalmente las IP de los servidores de prueba si se carga durante períodos prolongados de tiempo.

REFERENCIAS

Stack Overflow: Cómo llamar a una función de JavaScript desde Selenium

Stack Overflow: Selenium: Llamar a una función de JavaScript en la página