Automatizar teste de login por SMS no CI: o que costuma quebrar
Publicado em 28 de julho de 2026
Colocar um fluxo de OTP dentro do pipeline parece simples até o primeiro build vermelho às três da manhã por um motivo que não é bug do código.
Resumo
Automatizar teste de login por SMS exige tratar três coisas que não existem em teste comum: o SMS demora um tempo variável, o número é um recurso com custo e estoque, e o código expira. Um teste que ignora qualquer um dos três fica intermitente e some com a confiança da equipe no pipeline.
Espera fixa é a causa número um de intermitência
Colocar uma pausa de dez segundos e torcer é o erro clássico. Entrega de SMS varia com operadora e horário.
Use consulta com repetição e tempo limite: pergunte de dois em dois segundos até um teto de sessenta, e falhe com mensagem clara se estourar. Melhor ainda, use webhook e reaja à chegada.
Número é recurso com custo, não variável de ambiente
Cada execução consome saldo. Um teste em loop infinito por bug de retry pode gastar bem mais do que a sua conta espera em uma madrugada.
Coloque teto de execuções por hora e alerta de saldo. Vale também rodar o teste completo só no branch principal, e um teste com mock nos demais.
Limpeza entre execuções
Se o teste não cancela o que sobrou, você acumula números pendentes. Feche a ativação no final, inclusive quando o teste falha — use bloco de finalização, não o caminho feliz.
O que medir
Registre o tempo entre a compra do número e a chegada do código. Essa métrica denuncia degradação do provedor antes de o cliente reclamar.
Quando faz sentido usar
- Teste de regressão de login a cada release.
- Monitoramento sintético do próprio fluxo de verificação em produção.
- Validação de mudança de provedor de SMS.
Cuidados importantes
Use números virtuais e temporários de forma legal e responsável, respeitando as regras dos serviços que você utiliza. A ferramenta serve para privacidade e conveniência — não para fraude, spam ou contornar verificações de terceiros.
Perguntas frequentes
Vale rodar a cada commit?
Normalmente não. O custo e a lentidão não compensam. A prática comum é mock nos commits e teste real no merge para a branch principal ou em execução agendada.
Como evitar gasto descontrolado?
Limite de chamadas por hora na sua automação, teto de saldo e alerta. Nossas chaves de API também têm limite de requisições por minuto.
Dá para usar webhook em CI?
Sim, se o ambiente de execução for acessível pela internet. Se não for, use consulta com repetição.
Conclusão
Teste de SMS automatizado funciona bem quando você o trata como integração com o mundo real: tempo variável, custo por execução e limpeza obrigatória.
Veja também
Receba SMS online com privacidade
Ver números disponíveisRecebaSMS.ai