Asserções em JMeterAsserção de resposta com exemplos

⚡ Resumo Inteligente

Asserções em JMeter Verificar se um servidor em teste retorna a resposta esperada, permitindo que os testadores de desempenho validem o conteúdo da resposta, os códigos de status, o tempo de resposta, o tamanho em bytes e o formato do documento durante os testes de carga para garantir a precisão.

  • Declaração de resposta: Identifica padrões correspondentes nos campos da resposta do servidor.
  • ⏱️ Declaração de duração: Sinaliza qualquer resposta mais lenta que o limite definido.
  • 📦 Declaração de tamanho: Verifica o tamanho da resposta em bytes.
  • 🧾 Asserção XML e HTML: Validar a sintaxe da resposta XML ou HTML.
  • 🤖 Assistência de IA: A IA sugere afirmações e sinaliza anomalias nos resultados.

Asserções em JMeter

O que é uma afirmação?

As asserções ajudam a verificar se o servidor em teste retorna o resultado esperado. esperado resultados.

Tipos de afirmações

A seguir estão algumas afirmações comumente usadas em JMeter:

  • Declaração de resposta
  • Declaração de duração
  • Afirmação de tamanho
  • Asserção XML
  • Asserção HTML
  • Etapas para usar a asserção de resposta

Declaração de resposta

Declaração de resposta

A asserção de resposta permite adicionar sequências de padrões para serem comparadas com vários campos da resposta do servidor.

Por exemplo, você envia uma solicitação de usuário para http://www.google.com e obter a resposta do servidor. A Asserção de Resposta pode verificar se a resposta contém uma sequência de padrões esperada (ex: “OK”).

Declaração de duração

O teste de duração verifica se cada resposta do servidor é recebida dentro de um determinado período. determinada quantia de tempo. Qualquer resposta que demore mais do que os milissegundos especificados será marcada como falha.

Por exemplo, uma solicitação de usuário é enviada para www.google.com by JMeter e obtenha uma resposta dentro esperado tempo 5 ms então Caso de teste passar, caso contrário, o caso de teste falhou.

Declaração de duração

Afirmação de tamanho

A Asserção de Tamanho testa se cada resposta do servidor contém o número esperado de bytes. Você pode especificar o tamanho como igual a, maior que, menor que ou diferente de um determinado número de bytes.

JMeter envia uma solicitação do usuário para www.google.com e recebe um pacote de resposta menor que o esperado 5000 bytes, portanto o caso de teste é aprovado; caso contrário, ele falha.

Asserção XML

O XML A asserção testa se os dados de resposta consistem em um documento XML formalmente correto.

Asserção XML

Asserção HTML

A Asserção HTML permite ao usuário verificar a sintaxe HTML dos dados de resposta. Isso significa que os dados de resposta devem atender à sintaxe HTML.

Asserção HTML

Etapas para usar a asserção de resposta

Continuaremos com o roteiro que desenvolvemos anteriormente tutorial.

Neste teste, estamos usando Declaração de resposta para comparar o pacote de resposta de www.google.com corresponde à string esperada.

Aqui está o roadmap para este teste:

Etapas para usar asserção de resposta

O painel de controle de asserção de resposta permite adicionar sequências de padrões para serem comparadas com vários campos da resposta.

Etapa 1) Adicionar declaração de resposta

Botão direito do mouse Grupo de Tópicos -> Adicione -> Afirmações -> Declaração de resposta

Adicionar declaração de resposta

O Painel de Asserção de Resposta é exibido conforme a figura abaixo:

Adicionar declaração de resposta

Etapa 2) Adicionar padrão para testar

Quando você envia uma solicitação para Google servidor, pode retornar algum Código de resposta como a seguir:

  • 404: Erro de servidor
  • 200: Servidor OK
  • 302O servidor web redireciona para outras páginas. Isso geralmente acontece quando você acessa o google.com de fora dos EUA. Google redireciona para o site específico do país. Como mostrado abaixo, google.com redireciona para google.co.in para usuários indianos.

Adicionar padrão para testar

Suponha que você queira verificar se o código de respostas do servidor web google.com contém padrão 302,

On Campo de resposta para testar, escolha Resposta Code,

No Painel de Asserção de Resposta, clique em Adicione -> uma nova exibição de entrada em branco -> digite 302 em Padrão para testar.

Adicionar padrão ao teste

Etapa 3) Adicionar resultados de asserção

Clique com o botão direito em Grupo de tópicos, Adicione -> Ouvinte -> Resultados da afirmação

Adicionar resultados de asserção

Adicionar resultados de asserção

Etapa 4) Execute seu teste

Clique em Grupo de Tópicos -> Resultado da Asserção

Quando estiver pronto para executar um teste, clique em a corrida botão na barra de menu ou tecla curta Ctrl + R.

O resultado do teste será exibido no painel Resultados da Asserção. Se Google servidor Código de resposta contém o padrão 302, o caso de teste é passado. Você verá a mensagem exibida da seguinte forma:

Execute o teste

Agora, de volta ao Painel de Asserção de Resposta, você altera o Padrão a ser testado de 302 para 500.

Execute o teste

Porque Google O código de resposta do servidor não contém esse padrão; você verá o caso de teste. fracassado como segue:

Execute o teste

guia de solução de problemas

Se você enfrentar o problema ao executar os cenários acima… faça o seguinte:

  1. Verifique se você está se conectando à Internet por meio de um proxy. Se sim, remova o proxy.
  2. Abra uma nova instância de JMeter
  3. Abra o AssertionTestPlan.jmx in JMeter
  4. Clique em Grupo de Threads -> Resultado da Asserção
  5. Execute o teste

Perguntas Frequentes

Uma asserção valida uma resposta como aprovada ou reprovada; um ouvinte apenas exibe os resultados.

Sim. A Asserção JSON verifica valores em uma resposta JSON, assim como a Asserção XML valida XML.

Cada asserção analisa a resposta e adiciona custo de CPU, portanto, limite as asserções aos amostradores críticos.

Sim. Os assistentes de IA leem uma resposta de exemplo e geram a resposta correspondente. JMeter asserção automática.

A IA identifica anomalias nos códigos de resposta ou no tempo que as asserções fixas poderiam não detectar.

Resuma esta postagem com: