Após configurar um cenário de teste de estresse, depure o cenário para validar a configuração e evitar falhas nos testes. Este tópico descreve como depurar cenários do Performance Testing (PTS) e do JMeter.
Pré-requisitos
Você já criou um cenário PTS ou JMeter. Para mais informações, consulte Criar um cenário PTS ou Criar um cenário JMeter.
Procedimento
-
Faça login no PTS console e escolha .
-
Na coluna Actions do cenário desejado, clique em Edit para abrir a página Edit Scenario. Em seguida, clique em Debug para depurar todo o cenário.
Durante o processo de depuração, clique em no ícone
no canto superior direito para minimizar a janela. Uma janela flutuante aparecerá no canto inferior direito, permitindo monitorar o status da depuração. Clique em na janela flutuante para restaurar a caixa de diálogo Debug Scenario. -
Nos resultados da depuração, visualize os logs de requisição para todas as requisições. Clique em uma API para ver seus detalhes de depuração.
Caso precise depurar apenas uma única API, acesse a página de configurações do cenário e clique em Debug API à direita da API para visualizar seus resultados de depuração.
ImportanteA depuração de uma única API em uma VPC não é suportada. Para depurar um cenário em uma VPC, clique em Debug para depurar o cenário inteiro.
Cenário PTS
Na interface de depuração de cenário PTS, o lado esquerdo exibe a lista de execução serial, que mostra o status de execução de cada API: um ponto verde indica sucesso e um ponto vermelho indica uma exceção. Se uma asserção falhar, a interface exibirá a mensagem: "Assertion failed, so subsequent requests are not sent." A seção General à direita mostra informações como Request URL, Request Method, Response Code, Export Content e Check Result JSON. Abaixo desta seção, há três abas: request details, response details e Timing. Na aba response details, expanda as seções para visualizar informações de ponto de verificação, cabeçalho de resposta, corpo da resposta e informações de erro. Quando uma requisição for anormal, a seção de informações de erro exibirá detalhes específicos, como IllegalArgumentException: forbidden uri, uri host must match vpc cidr pattern 10.0.0.0/8, 172.16.0.0/12. Isso indica que o host da URI da requisição deve corresponder aos padrões CIDR da VPC especificados.
-
Resultados de asserção
Um ícone 'x' indica uma exceção. Selecione a API para visualizar os detalhes da resposta à direita.
-
Status da resposta
O status pode ser um código de status (como 200, 302, 403, 503 ou 500) ou uma mensagem Abnormal. Uma mensagem Abnormal significa que nenhuma resposta foi recebida. Isso pode ser causado por timeout de requisição ou por um erro na URL ou no corpo da requisição, como uma função não reconhecida ou um formato de URL inválido.
NotaVisualize os detalhes da requisição e da resposta para cada API depurada. Para solucionar esses problemas, verifique o seguinte:
Se o status da resposta for Abnormal, verifique os detalhes da exceção na seção error information da aba Response Details. Por exemplo, a exceção pode ser causada por parâmetros inválidos, como o uso incorreto de uma função do sistema.
Se o status da resposta for um código diferente de 200, verifique as informações retornadas e execute a solução de problemas padrão usando os logs em seu servidor.
Se uma asserção falhar, verifique os detalhes da asserção na seção Check Point Information da aba Response Details. Se o valor atual estiver vazio, nenhum valor de parâmetro de saída foi extraído.
-
Informações de erro
Esta seção exibe detalhes sobre respostas anormais, como timeouts, erros de parâmetro ou rejeições de conexão.
-
A aba Timing detalha o tempo gasto durante o ciclo de vida principal de uma requisição.
Use o modelo de cascata de Timing para visualizar informações de erro. Todos os erros aparecem no modelo de cascata de Timing.
Por exemplo, se você ativar o redirecionamento 302 nas configurações do cenário, verifique o modelo de cascata de Timing para confirmar se ocorreu um redirecionamento e qual foi seu caminho específico.
-
Testar uma expressão de parâmetro de saída
Quando for necessário extrair uma string específica dos detalhes de resposta de uma requisição, geralmente de um corpo de resposta baseado em texto, teste uma expressão regular na janela de depuração para verificar se está correta. Também é possível redefinir o parâmetro de saída conforme necessário.
NotaEste recurso não está disponível para formatos JSON dos tipos application/json e text/json, pois esses formatos são fáceis de analisar.
Na caixa de diálogo Debug Scenario, selecione uma API à direita e clique em Click to test the regular expression for the output parameter.
Na caixa de diálogo Test output parameter regular expression, selecione um formato de source, insira uma expressão regular e especifique a enésima correspondência. Em seguida, clique em Test Expression. Use o resultado da correspondência nos detalhes da resposta para verificar se o conteúdo extraído está conforme o esperado.
-
Se precisar redefinir o parâmetro de saída, clique em Sync Output Parameter para sincronizar a expressão regular com a lista de parâmetros de saída da API.
NotaSe você sincronizou um parâmetro de saída durante a depuração, retorne à aba de configurações do cenário do cenário de teste de estresse e defina um nome para o parâmetro de saída na aba Output Parameter Definition da API.
Cenário JMeter
O painel engine logs à direita exibe os logs de inicialização do mecanismo JMeter, incluindo informações do ambiente de execução, como número da versão, versão do JDK, sistema operacional, memória máxima e número de processadores disponíveis. No canto inferior direito, a área Architecture Topology exibe a topologia da arquitetura.
Clique em um Sampler para visualizar os detalhes das requisições e respostas e o modelo de cascata de Timing na área de sampling log.
-
Sampling log:
A aba General exibe a URL da requisição, o método da requisição e o código de status da requisição.
A aba request details exibe os cabeçalhos da requisição, o corpo e o pacote original.
A aba Response Details exibe os cabeçalhos da resposta, o corpo e o pacote original.
A aba Timing exibe o tempo gasto para cada API.
A área Engine Logs exibe os logs de execução do JMeter. Se nenhum log de amostragem for gerado após a depuração do script, analise e solucione problemas usando as informações de erro nos logs do mecanismo. Para mais informações sobre erros comuns e suas causas, consulte Erros comuns.