Um proxy de depuração é útil quando um cliente precisa de encontrar uma resposta que o servidor normal raramente produz. Defina primeiro o comportamento do cliente e depois escolha a intervenção que produz essa condição.

«O pedido falhou» é um caso de teste demasiado amplo. Uma resposta de erro HTTP válida, uma resposta que nunca chega e uma ligação interrompida a meio de um download exigem coisas diferentes da aplicação.

CasoComportamento a examinar
Uma resposta de erro HTTP completaSe o cliente lê o estado e aplica a política de erro prevista
Uma resposta atrasadaSe o utilizador pode cancelar e se o tempo limite se aplica na etapa prevista
Um campo de cabeçalho ou de corpo inesperadoSe a análise e a validação falham com clareza
Uma troca interrompidaSe os dados incompletos continuam distinguíveis de um resultado concluído

Utilize uma intervenção na camada certa

O Charles fornece pontos de interrupção que suspendem um pedido ou uma resposta antes de o encaminhar. A mensagem interceptada pode ser examinada e editada, deixada passar ou abortada. A sua ferramenta Rewrite aplica alterações repetíveis a cabeçalhos, URL ou corpos correspondentes. A limitação controla a largura de banda e a latência adicionada.

Estes controlos podem exercitar o comportamento de um cliente HTTP, mas um limite de largura de banda não é um modelo preciso da perda aleatória de pacotes IP. Um proxy pode armazenar dados em memória intermédia, reutilizar ligações e abrir uma ligação ascendente separada. Escolha uma ferramenta de degradação de rede quando a condição necessária estiver especificamente abaixo de HTTP.

Mantenha cada caso interpretável

Faça corresponder o anfitrião e o caminho pretendidos de forma estreita. Comece com uma troca normal, ative uma única alteração e registe o que foi alterado. Se uma nova tentativa atingir um segundo ponto final, decida se a mesma regra deve afetar essa tentativa. Caso contrário, uma reescrita incondicional pode transformar cada caminho de recuperação na falha original.

Num envio ou numa operação semelhante a um pagamento, uma resposta perdida não prova que o servidor rejeitou o pedido. Inclua essa ambiguidade no caso de nova tentativa em vez de afirmar que qualquer falha de transporte é segura de repetir.

Inspecionar ou editar conteúdo HTTPS exige que o cliente participe na configuração de inspeção TLS do proxy de depuração. Um proxy que só transporta CONNECT vê bytes de aplicação encriptados. Utilize uma configuração de teste isolada e restaure depois o seu encaminhamento e as definições de confiança, para que as observações posteriores descrevam o cliente normal.

Artigos relacionados