fluxos de navegador
Saiba que seu login ainda funciona, não só que ele responde
Uma verificação HTTP na sua página de login prova que a página carrega. Ela não consegue dizer se o formulário ainda é enviado, se o cookie de sessão ainda é definido ou se o client secret do OAuth não expirou. Um fluxo de navegador faz login do jeito que um usuário faz e avisa você quando isso para de funcionar.
A falha que uma verificação HTTP não enxerga
Todo postmortem de queda tem um desses. A página de login retornou 200 o tempo todo, então o monitor ficou verde enquanto ninguém conseguia entrar de verdade. Um client secret do OAuth expirado, um bundle de JavaScript que dá 404, um cookie de sessão que deixou de ser definido: nada disso muda a linha de status da página que hospeda o formulário. Uma verificação de fluxo executa o próprio login, então aquilo que importa para você é exatamente o que está sendo medido.
Grave, não escreva
O Chrome vem com um Gravador (Recorder) no DevTools. Faça login uma vez com ele gravando, exporte a gravação como JSON e solte o arquivo no formulário do monitor. Ela vira etapas que você pode ler e editar. Os seletores vêm como foram escritos, o clique de foco antes de digitar é incorporado ao preenchimento, e tudo o que a gravação não conseguiu trazer é listado em vez de adivinhado.
A senha nunca vai parar na configuração
Uma gravação guarda tudo o que você digitou, em texto puro. A importação descarta o valor de qualquer coisa que pareça uma senha ou um token em vez de copiá-lo, e indica um segredo da organização. O monitor então guarda uma referência como {{login_password}}, nunca a credencial. Use para isso uma conta dedicada com poucos privilégios, não uma conta real e nunca a de um administrador.
Uma falha que se identifica
Quando uma etapa falha, você recebe a etapa, o motivo e a página como ela estava: a URL a que o navegador tinha chegado, o título, o texto visível e o que a página registrou no console do navegador. Na maioria das vezes, a URL resolve a questão sozinha. Continuar no caminho de login depois de um envio significa que as credenciais nunca foram aceitas.
Veja a quebra chegando, não só a quebra
Toda execução fica guardada, inclusive as que passam, com o resultado de cada etapa e quanto tempo ela levou. A página do monitor desenha um pequeno gráfico por etapa, cada um na sua própria escala, então uma espera que foi subindo aos poucos de 200 ms para quatro segundos se destaca, em vez de ficar achatada ao lado de uma etapa que leva um segundo de qualquer jeito. Esse é o login duas semanas antes de começar a falhar. Etapas que falharam ficam fora da linha e são contadas ao lado dela, porque uma etapa que falha espera o tempo limite inteiro e, de outro modo, esconderia todos os tempos ao redor.
A verificação mais pesada, com preço de acordo
Um fluxo controla um processo real de navegador a cada execução, o que custa muito mais do que uma requisição HTTP. Por isso ele não roda com frequência maior que a cada cinco minutos, o número de monitores de fluxo é limitado pelo plano, e os fluxos só rodam em regiões onde há um motor de navegador disponível. Vigie com um fluxo a jornada que importa e mantenha verificações HTTP simples em todo o resto.
Um 200 não é um login
O mesmo minuto, duas verificações contra a mesma página. A verificação HTTP mede o DNS, a conexão TCP, o handshake TLS e o primeiro byte, encontra os quatro saudáveis e para na linha de status. O fluxo segue em frente: preenche o formulário, envia e procura a página que só existe depois que você faz login. Tudo aqui roda contra the-internet.herokuapp.com, um site público de prática, então você pode montar o mesmo monitor e vê-lo funcionar.
Grave uma vez, fique com as etapas
O próprio Gravador do Chrome exporta o que você fez como JSON. Ao soltar esse arquivo, ele vira etapas. O clique de foco antes de digitar é incorporado ao preenchimento, o ícone do botão de envio vira o botão, e a senha nunca sobrevive à viagem.
Quando quebra, diz onde
Uma etapa que falhou se identifica, e a execução devolve a página que estava vendo. Normalmente a URL sozinha resolve: se ainda está na página de login, as credenciais nunca foram aceitas.
Um fluxo de login, como a API o armazena
{
"type": "flow",
"start_url": "https://the-internet.herokuapp.com/login",
"steps": [
{"op": "fill", "selector": "#username", "value": "tomsmith"},
{"op": "fill", "selector": "#password", "value": "{{login_password}}"},
{"op": "click", "selector": "#login > button"},
{"op": "assert_url", "contains": "/secure"},
{"op": "assert_text", "contains": "secure area"}
],
"timeout": 30000,
"step_timeout": 10000,
"verify_tls": true
}
Visão geral
- O que prova um login real, de ponta a ponta
- Etapas preencher, clicar, esperar, verificar
- Criação importe uma gravação do Chrome
- Credenciais guardadas como referência a um segredo
- Intervalo de verificação a partir de 5 minutos
- Preço para começar grátis, sem cartão