jmeter processors controllers
Visão geral dos pré-processadores e controladores no JMeter (Parte III):
=> Siga uma série abrangente de tutoriais JMeter gratuitos aqui
Este artigo orienta os usuários no uso de pré-processadores, pós-processadores e controladores no JMeter. Os controladores são muito úteis para criar cenários de teste.
Você pode desejar testar diferentes cenários nos quais deseja configurar sua própria sequência de uma solicitação enviada a um servidor para monitorar o tempo de resposta e outros fatores de desempenho.
O que você aprenderá:
- Pré-Processadores
- Parâmetros do usuário
- Tempo Limite da Amostra
- Controladores
- Exemplo em tempo real
- Modelo de gravação do JMeter
- Conclusão
- Leitura recomendada
Pré-Processadores
Esses são os elementos que são executados antes de um amostrador ser executado. Você pode anexar o pré-processador com o amostrador para o qual deseja fazer algumas alterações na solicitação.
O mais simples de um caso poderia ser adicionar o pré-processador “Sample Timeout” com um HTTP Request para que este pedido fosse executado apenas por um período de tempo definido. Ele também garante que essa modificação seja feita apenas para o Sampler pai.
Abaixo estão alguns dos pré-processadores usados no JMeter:
- Pré-Processador Bean Shell
- Analisador de link HTML
- Reescrita de URL HTTP
- Pré-processador JDBC
- Tempo Limite de Amostra
- Parâmetros do usuário
Os mais comumente usados são explicados abaixo com exemplos. Você pode ou não precisar de tudo em seus projetos. Tente identificar os cenários relacionados ao seu projeto e implemente aqueles que o ajudem a cobrir cenários de desempenho em tempo real.
Parâmetros do usuário
Os parâmetros do usuário são usados para definir valores para as variáveis antes de serem usados nos Samplers. Quando o JMeter executa este elemento do pré-processador, ele armazena os valores nas variáveis que podem ser referenciadas por qualquer Samplers dentro do mesmo grupo de threads.
como retornar arrays em java
Se você tiver mais threads do que o número de usuários em “Parâmetros do usuário”, threads extras irão reiterar os valores novamente.
Por exemplo, você tem 5 usuários em seu grupo de threads, mas apenas 3 no pré-processador, então seus 4ºe um 5ºdiscussão vai usar param1 e param2 .
Tempo Limite da Amostra
Este pré-processador é usado para definir a duração do tempo limite para solicitações.
Por exemplo, se você colocou um tempo de amostra de 400 milissegundos, todas as solicitações que estão demorando> 400 terão uma resposta com falha. Consulte as capturas de tela abaixo.
Controladores
Os controladores são muito importantes na construção de um plano de teste JMeter em tempo real. Ele define a seqüência em que as solicitações são enviadas ao servidor.
Por exemplo, Se você deseja testar um aplicativo da web no qual deseja que o login ocorra uma vez e faça uma pesquisa, a seleção de itens deve ser realizada uma a uma em todas as iterações. Os controladores tornam isso possível, gerenciando o fluxo de solicitação que vai para o servidor em teste.
Abaixo estão os controladores mais comumente usados no JMeter
- Controlador simples
- Controlador de Módulo
- Controle Único
- Controlador Interleave
- Loop Controller
- Se controlador
- Para cada controlador
- Controlador de gravação e etc.,
Controlador simples
O controlador simples não executa nenhuma função específica. É apenas uma espécie de contêiner no qual você pode manter suas solicitações semelhantes para tornar seu plano de teste facilmente compreensível.
Loop Controller
Se você quiser que algum pedido específico execute mais iterações do que o especificado em Thread Group, você pode colocá-los em Loop Controller e inserir a contagem de loop nas configurações do controlador.
Exemplo: Se você tiver um grupo de threads com 1 usuário e 3 iterações, todas as suas solicitações nesse grupo serão executadas 3 vezes. Agora, se você tiver dois Samplers HTTP em um controlador de loop com contagem de loop 2, ambos os Samplers serão executados 1 * 3 * 2 = 6 vezes.
Por favor, veja as capturas de tela abaixo que explicam melhor
Controle Único
Este controlador é usado quando você deseja executar alguma solicitação específica apenas uma vez, mesmo se você tiver vários threads no grupo de threads. O exemplo mais simples que pode ser considerado é “Buscando a página inicial de um site” ou “Login em um aplicativo da web”. O cenário em tempo real gostaria que acontecesse apenas uma vez e outras solicitações, como pesquisar ou editar / excluir algo, acontecessem várias vezes.
A solicitação que deve ser executada apenas uma vez pode ser colocada em Controlador Único. Consulte a captura de tela abaixo para sua referência. As configurações do controlador Once Only ignoram as configurações do grupo de threads principais.
Controlador de Gravação
Assim como o Simple Controller, o Recording Controller não modifica nenhuma sequência das solicitações que estão sendo enviadas ao servidor. É usado com HTTP (S) Script Recorder. Todas as solicitações registradas com este elemento não testado são salvas no controlador de gravação.
Você precisa especificar o controlador de destino para salvar as solicitações registradas feitas ao servidor.
O controlador de gravação e o gravador de script HTTP (s) entram em cena quando os testadores não têm as informações sobre os URLs e parâmetros das solicitações. Eles podem simplesmente registrar e capturar todas as solicitações que chegam a seus servidores. Isso funciona tanto para projetos móveis quanto para web.
Controlador de rendimento
Este controlador também é usado para controlar o fluxo de execução. Conforme visto no recorte abaixo, este controlador é dividido em duas partes:
Execução percentual - Esta seleção fará com que o Jmeter execute apenas uma certa porcentagem do total de iterações para Samplers colocados sob este controlador. Você também pode marcar a caixa de seleção “Por usuário” para controlar isso no nível do usuário.
Por exemplo, O Thread Group está configurado para ter 10 usuários e a contagem de loop é 5. Portanto, o total de iterações é 50. Se% da execução for definida como 50%, então todos os Samplers sob o Throughput Controller farão apenas 25 iterações (50% de 50).
Execuções totais - Isso permite que os usuários especifiquem o número de iterações diretamente para os amostradores contidos neste controlador.
Controlador Interleave
Este controlador permite aumentar o escopo de seu teste de desempenho, modificando a sequência de várias maneiras, de modo que você possa testar a carga no servidor quando os aplicativos estão atingindo a solicitação com sequências diferentes. O Interleave Controller faz seleções alternativas com os samplers abaixo dele.
No caso de haver outros controladores como o Simple Controller mantidos sob este bloco, o controlador intercalar dá o privilégio de selecionar um amostrador de cada um de um contêiner para cada iteração. Para explicar melhor, considere o plano de teste abaixo.
Portanto, o Jmeter irá iterar alternativamente entre os controladores para cada iteração. Portanto, a sequência será mencionada abaixo
Solicitação1 -> Solicitação3 -> Solicitação 5 - Solicitação2 -> Solicitação4 -> Solicitação6
Por favor, veja os resultados do JMeter abaixo com número de threads = 2 e contagem de loop = 2.
gateway padrão não disponível windows 8
No exemplo acima, Jmeter está intercalando com o próximo loop / iteração. Existem configurações no Interleave Controller que podem fazer o JMeter enviar solicitações alternativas a cada novo encadeamento.
Por favor, veja os resultados abaixo. Isso é útil em cenários em que você deseja servidores de acerto de carga sequencial ou simultâneo com a sequência diferente da solicitação da mesma máquina.
Controlador Aleatório
Ele funciona quase como o controlador Interleave, mas não seleciona os samplers em ordem. Ele apenas seleciona os subcontroladores e os amostradores dentro deles de forma aleatória.
Se controlador
Se o controlador funcionar de maneira semelhante, uma expressão IF é tratada em qualquer linguagem de programação. A condição é validada primeiro e então os componentes neste contêiner são executados se a condição for TRUE, caso contrário, os elementos fora do controlador IF serão executados.
Exemplo : Continuando com um dos exemplos anteriores envolvendo o controlador Interleave, agora um dos dois controladores Interleave foi mantido sob o controlador IF e a condição “$ (COUNT)<10 is added as a condition. Variable COUNT is defined in config element “User Defined Variables” and is given a value equal to 11. Configuration is described below
Definindo e atribuindo um valor para COUNT Variável.
Definindo condição em Se controlador definições. Jmeter irá validar esta condição e se TRUE, irá executar os blocos sob este container.
Como você pode ver no plano de teste abaixo, apenas Request3, Request4 e Request5 serão executados no caso de condição IF ser avaliada como Falso .
Enquanto controladores
Este controlador executa os componentes sob ele até que a condição se torne falsa.
Por exemplo, digamos que temos uma condição while ($ (count)<10), it will execute the child elements until the condition is false. To test this, there should be a counter which gets increment or decrement on each iteration and then condition is evaluated. Config Element “Counter” can be used to serve this purpose.
Configure o elemento de configuração “Contador” para começar em 1 e, a seguir, incrementar a cada iteração. Veja abaixo para mais esclarecimentos:
Abordaremos o restante dos controladores em nossos tutoriais em vídeo.
Exemplo em tempo real
Vamos considerar um cenário em que a equipe de teste não conhece os URLs e os parâmetros de todas as solicitações que chegam ao servidor em teste. Agora, para testar a carga do servidor, eles precisam registrar as solicitações e então modular a carga sequencial ou simultaneamente e criar cenários a partir deles para fazer o teste de desempenho.
Degraus
como copiar um dvd de graça
- Adicione um modelo no Jmeter para o controlador de gravação
- Configure o proxy em seu navegador e escolha a mesma porta no Gravador de script HTTP (s)
- Registre os pedidos
- Modifique o plano de teste e aumente a carga
- Agrupe as transações de acordo
- Experimente diferentes combinações de pedido
Modelo de gravação do JMeter
JMeter também possui algum modelo predefinido. Selecione a opção “Modelo” no menu Arquivo. Depois de selecionar o modelo, escolha a opção “Gravação” na janela que se abre e clique em Criar.
Assim que selecionar este modelo de gravação, você verá alguns componentes já adicionados no plano de teste.
- Gravador de script HTTP (s) na bancada de trabalho
- Padrões de solicitação HTTP e gerenciador de cookies HTTP
- Controlador de gravação no grupo de threads.
Você pode definir as configurações de proxy em seu navegador para se comunicar com o servidor proxy JMeter ou usar o CHROME Extension Blazemeter para registrar as solicitações e, em seguida, exportar o. arquivo jmx para Jmeter. Existem muitas outras extensões para gravar o script e exportá-lo para o JMeter. A ferramenta BADBOY também funciona bem com o Jmeter para gravar acessos na web e em dispositivos móveis.
Clique em. opção jmx para exportar a solicitação registrada para Jmeter. Agora, no Jmeter, abra o. arquivo jmx e veja as solicitações e os parâmetros associados a cada solicitação.
Conclusão
Até agora, presume-se que todos vocês devem ter se familiarizado com a lógica básica do JMeter, como ele simula a carga, como jogar com diferentes tipos de Samplers, como controlar o fluxo de execução com o uso de Controlador e usando variáveis e funções para executar os loops nas iterações. Certamente, este não é o fim da série de tutoriais do JMeter.
Existem muitos tutoriais em vídeo a seguir, o que guiará os testadores com mais experiência em diferentes cenários no Jmeter e como cada componente do JMeter pode ser utilizado da melhor maneira.
=> Verifique a lista completa de tutoriais em vídeo JMeter aqui
Por favor, compartilhe seus comentários ou perguntas conosco.
Leitura recomendada
- Controladores Jmeter Parte 1
- Controladores Jmeter Parte 2
- Como Obter Correlação JMeter com Exemplo
- Trabalho com solicitações HTTP no JMeter
- Trabalho com solicitação de FTP no JMeter
- Usando o pós-processador no JMeter (extrator de expressão regular)
- Os 5 principais plug-ins JMeter e como usá-los (com exemplos)
- JMeter Timers: Constant, BeanShell e Guassian Random Timer