Alcance seguro: esta guía aplica únicamente a tus propios entornos de QA, staging y preproducción autorizados. Describe patrones de diagnóstico y observabilidad para tu integración CAPTCHA, nunca para sitios de terceros ni flujos que no controlas.
Si tu flujo tiene varios pasos (login, checkout, navegación con cookies), mantén la sesión fija; si cada petición es independiente, deja que la sesión rote. Esa es la regla corta; el resto de esta comparativa explica el porqué y cómo medir el impacto real en tu propia QA.
Qué cambia entre una sesión fija y una rotativa
Una sesión fija conserva la misma salida de red durante toda una secuencia; una rotativa asigna una distinta a cada petición. Muchos CAPTCHA validan el token contra el contexto en el que se resolvió: si ese contexto cambia entre resolver y enviar, un token válido puede acabar rechazado.
| Factor | Sesión fija | Sesión rotativa |
|---|---|---|
| Salida de red | La misma durante el flujo | Distinta por petición |
| Validez del token | Estable (mismo contexto) | Riesgo de rechazo |
| CAPTCHA en flujos multi-paso | Menos | Más |
| CAPTCHA en páginas sueltas | Más | Menos |
| Ideal para | Login, checkout, navegación | Rastreo, búsquedas, landings |
Cuándo conviene una sesión fija
Elige sesión fija cuando el recorrido tiene estado que preservar:
- Un login seguido de una acción autenticada.
- Un checkout de prueba de varios pasos.
- Navegación donde las cookies deben sobrevivir entre páginas.
El token queda ligado al contexto en el que se pidió, así que tu backend lo acepta igual que a un usuario real; rotar a mitad del recorrido provoca el clásico "se resolvió bien, pero el backend lo rechaza".
Cuándo conviene rotar la sesión
Rota cuando cada petición es independiente:
- Un catálogo de staging paginado.
- Una batería de landings de prueba.
- Endpoints que no dependen de cookies previas.
Sin secuencia que preservar, repartir las peticiones evita que una sola salida golpee demasiadas rutas y simula tráfico más variado.
Cuánto debe durar una sesión fija
Ajusta el TTL al doble del tiempo esperado del flujo:
| Duración | Ideal para |
|---|---|
| 1–5 min | Envíos de formulario rápidos |
| 5–10 min | Login y acciones estándar |
| 30+ min | Recorridos largos multi-página |
Un ejemplo concreto: una agencia con QA para varios clientes
Piensa en una agencia en México o España que mantiene el QA de varias tiendas. Usa sesión fija para el alta de cuenta y el checkout de prueba, y deja rotar el rastreo nocturno del catálogo. Con una API key de CaptchaAI separada por proyecto, el costo se mantiene predecible en USD gracias al plan BASIC ($15/mes, 5 threads).
Configuración reproducible entre entornos
Usa la misma configuración de navegador en QA, staging y CI: evita que un test pase en local y falle en CI sin motivo.
from selenium import webdriver
def make_driver(headless: bool = True) -> webdriver.Chrome:
options = webdriver.ChromeOptions()
if headless:
options.add_argument('--headless=new')
options.add_argument('--window-size=1280,800')
options.add_argument('--lang=es-ES')
return webdriver.Chrome(options=options)
Igualar viewport, idioma y user-agent en los runners reduce la varianza entre ejecuciones.
Cómo encaja CaptchaAI en tu pipeline
El patrón es el mismo, sea cual sea tu framework:
- Tu test detecta el widget de CAPTCHA en tu propia página de QA, staging o preproducción.
- Envía a CaptchaAI los datos públicos del widget (
sitekey, URL y tipo de CAPTCHA). - CaptchaAI devuelve un token válido para esa página.
- Tu test inyecta el token en el campo y envía el formulario.
- Tu backend verifica el token con el proveedor, como con un usuario real.
Este flujo se aplica solo a integraciones que tú controlas; no sirve para sortear protecciones de terceros.
Métricas que conviene registrar
Añade métricas para los pasos de CAPTCHA en tu QA y detecta regresiones antes de que lleguen a producción:
- Tiempo de resolución por intento — de la solicitud a la entrega del token.
- Tasa de éxito por endpoint propio — verificaciones de backend que pasan del total.
- Distribución de errores — por código (
ERROR_*, timeouts internos, fallos de red). - Latencia extremo a extremo — render, resolución del CAPTCHA y respuesta del backend.
Conserva trazas (logs, capturas, HAR) para reproducir incidentes intermitentes.
Preguntas frecuentes
¿Qué estrategia de sesión genera menos CAPTCHA en mi QA?
Depende del flujo. En recorridos multi-paso, la sesión fija reduce los rechazos de token; en páginas sueltas, rotar reparte las peticiones y baja la tasa de challenges.
¿Qué tipos de CAPTCHA puedo resolver con CaptchaAI en mi pipeline?
Los principales: reCAPTCHA v2 y v3, Cloudflare Turnstile y Cloudflare Challenge, GeeTest v3 e imágenes tipo OCR y grid. hCaptcha y FunCaptcha no son compatibles hoy, y GeeTest v4 está próximamente. CaptchaFox, Friendly Captcha y Lemin están en beta.
¿Esta guía sirve para sitios de terceros?
No. Todo está pensado para tu propia aplicación o entornos explícitamente autorizados. Resolver CAPTCHA en sitios que no controlas puede infringir sus términos de servicio.
Solución de problemas
| Síntoma | Acción recomendada |
|---|---|
| El test no detecta el widget | Revisa selectores y tiempos en staging |
CaptchaAI devuelve ERROR_NO_SLOT_AVAILABLE |
Reintenta con backoff en tu pipeline |
| La validación de backend rechaza el token | Compara action/sitekey con tu configuración real |
| El test funciona en local pero falla en CI | Iguala viewport, idioma y user-agent |
| Tiempos de resolución muy variables | Revisa la concurrencia y los límites de tu API key |
Guías relacionadas seguras
- Inicio rápido de CaptchaAI
- QA autorizado de CAPTCHA
- Probar endpoints de CAPTCHA en formularios propios
- Depurar tests de navegador cuando la API sí funciona
- Resolver reCAPTCHA v2 con la API
- Resolver Cloudflare Turnstile con la API
Valida tus integraciones CAPTCHA en entornos propios con CaptchaAI.