Tutoriais

Estado de sessão CAPTCHA em workers distribuídos de QA

Este guia se limita a ambientes próprios, QA, staging ou pré-produção com autorização explícita. Os exemplos usam páginas internas, dados fictícios e endpoints de validação controlados pela equipe. Não há orientação para automatizar serviços de terceiros, compras reais, filas públicas ou controles de acesso fora do seu ambiente.

Escopo seguro

Este guia se limita a ambientes próprios, QA, staging ou pré-produção com autorização explícita. Os exemplos usam páginas internas, dados fictícios e endpoints de validação controlados pela equipe. Não há orientação para automatizar serviços de terceiros, compras reais, filas públicas ou controles de acesso fora do seu ambiente. O foco aqui é continuidade de sessão em pipelines internos, com dados fictícios e contas de teste.

Modelo de QA em ambiente staging

Crie uma página interna com sitekey de QA, usuário fictício, payload previsível e endpoint de verificação separado de produção. O objetivo é reproduzir o fluxo técnico sem gerar efeitos reais para usuários, clientes ou parceiros.

Dados fictícios e endpoints internos

Use identificadores como qa_user_001, qa_session_001 e qa_case_001. O backend deve aceitar apenas tokens vinculados à página staging e gravar resultados em uma tabela de testes.

Enviar tarefa CaptchaAI a partir do QA

Envie a tarefa a partir do runner autorizado e registre o ID para rastreabilidade.

import os, time, requests

API_KEY = os.environ['CAPTCHAAI_API_KEY']
SITEKEY = os.environ['QA_CAPTCHA_SITEKEY']

def criar_tarefa_captcha(pageurl):
    resposta = requests.post('https://ocr.captchaai.com/in.php', data={
        'key': API_KEY,
        'method': 'userrecaptcha',
        'googlekey': SITEKEY,
        'pageurl': pageurl,
        'json': 1,
    }).json()
    return resposta['request']

def aguardar_resultado(task_id):
    while True:
        time.sleep(5)
        resposta = requests.get('https://ocr.captchaai.com/res.php', params={
            'key': API_KEY,
            'action': 'get',
            'id': task_id,
            'json': 1,
        }).json()
        if resposta.get('status') == 1:
            return resposta['request']

task_id = criar_tarefa_captcha('https://staging.example.com/captcha-demo')
token_qa = aguardar_resultado(task_id)
print({'token_recebido': bool(token_qa)})

Validar resposta no backend QA

Depois de receber o token, encaminhe-o para um endpoint interno como https://staging.example.com/qa-captcha/verify. O backend valida a resposta junto ao provedor CAPTCHA e retorna apenas um resultado de teste.

Logging e rastreabilidade

Registre sitekey, pageurl, tipo de CAPTCHA, tempo de envio, tempo de resposta, status do backend e identificador do caso QA. Esses campos ajudam a depurar regressões sem expor dados sensíveis.

Solução de problemas

Se o teste falhar, confirme sitekey, domínio staging permitido, expiração do token, relógio do runner e diferenças entre navegador e API. Faça retentativas com backoff apenas dentro da suíte QA.

Critérios de publicação

Antes de publicar a mudança testada, confirme que a documentação aponta para ambiente próprio, que os exemplos usam dados fictícios, que nenhum endpoint de produção é acionado pelo teste e que os logs contêm correlação suficiente para auditoria. A página staging deve ter domínio autorizado, sitekey esperada, configuração de backend separada e política clara de expiração. Quando o resultado variar, trate os números como amostra interna: repita a medição, anote a janela de execução e compare apenas cenários equivalentes.

Guias relacionados seguros

  • Início rápido da CaptchaAI
  • Testes QA autorizados de CAPTCHA
  • Testes de endpoint CAPTCHA em formulários próprios
  • Depuração quando o navegador falha e a API funciona
  • Resolver reCAPTCHA v2 com API
  • Resolver Cloudflare Turnstile com API
  • Resolver GeeTest v3 com API

Valide a integração CAPTCHA do seu ambiente próprio com a CaptchaAI.

Os comentários estão desativados para este artigo.