jMeter - Elementos do Plano de Teste
Um plano de teste JMeter é composto por elementos de teste discutidos abaixo. Um plano de teste compreende pelo menos um grupo de encadeamentos. Dentro de cada Thread Group, podemos colocar uma combinação de um ou mais dos outros elementos - Sampler, Logic Controller, Configuration Element, Listener e Timer. Cada Sampler pode ser precedido por um ou mais elementos de pré-processador, seguidos por elemento de pós-processador e / ou elemento de asserção. Vamos ver cada um desses elementos em detalhes -
Grupo de Tópicos
Os elementos do grupo de threads são os pontos iniciais de seu plano de teste. Como o nome sugere, os elementos do grupo de encadeamentos controlam o número de encadeamentos que o JMeter usará durante o teste. Também podemos controlar o seguinte por meio do Grupo de Tópicos -
Definir o número de tópicos
Definir o tempo de aceleração
Definir o número de iterações de teste
O painel de controle do grupo de tópicos é semelhante a este -
O Painel do Grupo de Threads contém os seguintes componentes -
Action to be taken after a Sampler error - Caso ocorra algum erro durante a execução do teste, você pode deixar o teste:
Continue para o próximo elemento no teste
Stop Thread para parar o Tópico atual.
Stop Test completamente, caso você queira inspecionar o erro antes de continuar em execução.
Number of Threads - Simula o número de usuários ou conexões com seu aplicativo de servidor.
Ramp-Up Period Define quanto tempo o JMeter levará para colocar todos os threads em execução.
Loop Count - Define o número de vezes para executar o teste.
Scheduler checkbox - Depois de selecionada, a seção Configuração do agendador aparece na parte inferior do painel de controle.
Scheduler Configuration - Você pode configurar a hora de início e de término da execução do teste.
Controladores
JMeter tem dois tipos de controladores - Samplers e controladores lógicos .
Samplers
Os amostradores permitem que o JMeter envie tipos específicos de solicitações a um servidor. Eles simulam uma solicitação do usuário para uma página do servidor de destino. Por exemplo, você pode adicionar um amostrador de solicitação HTTP se precisar executar um POST, GET ou DELETE em um serviço HTTP.
Alguns exemplos úteis são -
- Pedido HTTP
- Pedido FTP
- Pedido JDBC
- Pedido Java
- Pedido SOAP / XML
- Pedidos RPC
A captura de tela a seguir mostra um Painel de controle do amostrador de solicitação HTTP -
Controladores lógicos
Os controladores lógicos permitem controlar a ordem de processamento dos Samplers em um Thread. Os controladores lógicos podem alterar a ordem de uma solicitação proveniente de qualquer um de seus elementos filhos. Alguns exemplos são - ForEach Controller, While Controller, Loop Controller, IF Controller, Run Time Controller, Interleave Controller, Throughput Controller e Run Once Controller.
A imagem a seguir mostra um Painel de Controle do Controlador de Loop -
A lista a seguir consiste em todos os controladores lógicos que JMeter fornece -
- Controlador simples
- Loop Controller
- Controlador Único
- Controlador Interleave
- Controlador Aleatório
- Controlador de ordem aleatória
- Controlador de taxa de transferência
- Runtime Controller
- Se controlador
- Enquanto controlador
- Switch Controller
- ForEach Controller
- Controlador de Módulo
- Incluir controlador
- Controlador de transação
- Controlador de Gravação
Fragmentos de Teste
Um fragmento de teste é um tipo especial de elemento colocado no mesmo nível do elemento Thread Group. É distinto de um Grupo de Threads por não ser executado a menos que seja referenciado por um Controlador de Módulo ou um Include_Controller. Este elemento é puramente para reutilização de código em Planos de Teste.
Ouvintes
Os ouvintes permitem que você visualize os resultados dos Samplers na forma de tabelas, gráficos, árvores ou texto simples em alguns arquivos de log. Eles fornecem acesso visual aos dados coletados pelo JMeter sobre os casos de teste conforme um componente do Sampler do JMeter é executado.
Ouvintes podem ser adicionados em qualquer lugar do teste, incluindo diretamente no plano de teste. Eles coletarão dados apenas de elementos em seu nível ou abaixo. A lista a seguir consiste em todos os ouvintes que o JMeter fornece -
- Resultado da amostra salvar configuração
- Gráfico de resultados completos
- Resultados do gráfico
- Spline Visualizer
- Resultados da afirmação
- Exibir árvore de resultados
- Relatório Agregado
- Ver resultados na tabela
- Gravador de dados simples
- Resultados do Monitor
- Gráfico de Distribuição (alfa)
- Gráfico Agregado
- Mailer Visualizer
- Ouvinte BeanShell
- Relatório de Resumo
Cronômetros
Por padrão, um encadeamento JMeter envia solicitações sem pausar entre cada amostrador. Isso pode não ser o que você deseja. Você pode adicionar um elemento de cronômetro que permite definir um período de espera entre cada solicitação.
A lista a seguir mostra todos os temporizadores que o JMeter fornece -
- Temporizador Constante
- Gaussian Random Timer
- Temporizador Aleatório Uniforme
- Temporizador de rendimento constante
- Sincronizando temporizador
- JSR223 Time
- BeanShell Time
- BSF Time
- Poisson Random Time
A imagem a seguir mostra um painel de controle de temporizador constante -
Afirmações
As asserções permitem incluir algum teste de validação na resposta de sua solicitação feita usando um Sampler. Usando asserções, você pode provar que seu aplicativo está retornando os dados corretos. JMeter destaca quando uma afirmação falha.
A lista a seguir consiste em todas as afirmações que o JMeter fornece -
- Asserção Beanshell
- Asserção BSF
- Compare a afirmação
- JSR223 Assertion
- Asserção de Resposta
- Asserção de duração
- Asserção de tamanho
- Asserção XML
- BeanShell Assertion
- MD5Hex Assertion
- Asserção HTML
- Asserção XPath
- Asserção de esquema XML
A captura de tela a seguir mostra um Painel de Controle de Asserção de Resposta -
Elementos de Configuração
Os Elementos de configuração permitem que você crie padrões e variáveis para serem usados por Samplers. Eles são usados para adicionar ou modificar solicitações feitas por Samplers.
Eles são executados no início do escopo do qual fazem parte, antes de quaisquer Samplers que estejam localizados no mesmo escopo. Portanto, um Elemento de Configuração é acessado apenas de dentro da ramificação onde está colocado.
A lista a seguir consiste em todos os elementos de configuração que o JMeter fornece -
- Counter
- CSV Data Set Config
- Padrões de solicitação de FTP
- Gerenciador de autorização HTTP
- Gerenciador de Cache HTTP
- Gerenciador de cookies HTTP
- Servidor Proxy HTTP
- Padrões de solicitação HTTP
- Gerenciador de cabeçalho HTTP
- Padrões de solicitação Java
- Configuração de Keystore
- Configuração de conexão JDBC
- Elemento de configuração de login
- Padrões de solicitação de LDAP
- Padrões de solicitação estendida de LDAP
- Configuração do amostrador TCP
- Variáveis Definidas pelo Usuário
- Elemento de configuração simples
- Variável aleatória
Elementos de pré-processador
Um elemento pré-processador é algo que é executado logo antes de um amostrador ser executado. Eles são freqüentemente usados para modificar as configurações de uma Solicitação de Amostra antes de sua execução ou para atualizar variáveis que não são extraídas do texto de resposta.
A lista a seguir consiste em todos os elementos de pré-processador que o JMeter fornece -
- Analisador de link HTML
- Modificador de reescrita de URL HTTP
- Modificador de parâmetro de usuário HTTP
- Parâmetros do usuário
- JDBC PreProcessor
- JSR223 PreProcessor
- Parâmetros do usuário RegEx
- BeanShell PreProcessor
- BSF PreProcessor
Elementos Pós-processador
Um pós-processador é executado depois que um amostrador termina sua execução. Este elemento é mais frequentemente usado para processar os dados de resposta, por exemplo, para recuperar um determinado valor para uso posterior.
A lista a seguir consiste em todos os elementos de pós-processador que o JMeter fornece -
- Extrator de Expressão Regular
- Extrator XPath
- Processador de ação de status de resultado
- JSR223 PostProcessor
- JDBC PostProcessor
- BSF PostProcessor
- Extrator CSS / JQuery
- BeanShell PostProcessor
- Depurar PostProcessor
Ordem de execução dos elementos de teste
A seguir está a ordem de execução dos elementos do plano de teste -
- Elementos de configuração
- Pre-Processors
- Timers
- Sampler
- Pós-processadores (a menos que SampleResult seja nulo)
- Asserções (a menos que SampleResult seja nulo)
- Ouvintes (a menos que SampleResult seja nulo)