Jmeter (dezesseis) - do básico ao proficiente - pré-processador JMeter (tutorial detalhado)

contente

1. Introdução

2. Visualize o pré-processador

3. Explicação detalhada de pré-processadores comuns

4. Resumo


1. Introdução

  O pré-processador deve realizar algumas operações antes de emitir uma "solicitação de amostrador". Se um pré-processador estiver conectado a um elemento amostrador, ele será executado antes que esse elemento amostrador seja executado. Os pré-processadores são mais comumente usados ​​para modificar as configurações de uma solicitação do amostrador antes que ela seja executada ou para atualizar variáveis ​​não extraídas do texto de resposta. O pré-processador é usado principalmente para processar alguns trabalhos preparatórios antes da solicitação, como configuração de parâmetros, configuração de variáveis ​​de ambiente e assim por diante.

2. Visualize o pré-processador

  Primeiro, vamos dar uma olhada no pré-processador do JMeter, o caminho: thread group (user) -> add -> preprocessor(); podemos ver claramente que existem 8 pré-processadores no JMeter5 (excluindo jp O pré-processador no início de @gc, este é um plug-in instalado pela Brother Hong), conforme mostrado na figura a seguir:

 

 

Se você não consegue ver a imagem acima claramente, o irmão Hong resumiu um mapa mental, sobre o tipo de pré-processador do JMeter5, conforme mostrado na figura a seguir:

 

Através do entendimento acima, temos uma compreensão geral e compreensão do pré-processador. Abaixo, o irmão Hong compartilhará e explicará alguns pré-processadores que normalmente são usados ​​no trabalho para pequenos parceiros ou calçados infantis.

3. Explicação detalhada de pré-processadores comuns

Nesta seção, o irmão Hong explicará os pré-processadores comumente usados ​​em detalhes de cima para baixo .

3.1JSR223 Pré-processador

O pré-processador JSR223 é usado para processar o coletor antes que o amostrador seja iniciado.

1. Vamos dar uma olhada na aparência deste pré- processador JSR223 : Caminho: Thread Group > Add > Preprocessor > JSR223 Preprocessor , conforme mostrado na figura a seguir:

 2. Os principais parâmetros são descritos a seguir:

Nome: nome, pode ser definido à vontade, ou até vazio;

Comentários: Comentários, podem ser definidos à vontade, podem ser vazios;

Idioma: idioma, o idioma selecionado para o script de desenvolvimento, o idioma JSR223 usado, pode ser selecionado de acordo com as necessidades;

Parâmetros: parâmetros, parâmetros passados ​​para o script;

Nome do arquivo: nome do arquivo, arquivo de script desenvolvido localmente (substituirá o script escrito em JMeter);

Cache de compilação de script: Armazenar scripts compilados, verificados por padrão;

Script: Para executar o script. Área de script.

3.1.1 Exemplos

O uso é semelhante ao sampler Beanshell, você pode consultar: Jmeter (quinze) - da entrada ao mestre - JMeter importar pacote Jar personalizado Este artigo. O uso específico é o seguinte:

1. Crie um novo plano de teste e inclua o pré-processador JSR223 no grupo de encadeamentos, conforme mostrado na figura a seguir:

 

2. Em seguida, adicione o amostrador de depuração, conforme mostrado abaixo:

 

3. Código do script de referência:

import com.bjhg.test.BeanShellJMeter;


BeanShellJMeter bs = new BeanShellJMeter("宏哥","北京");


vars.put("username",bs.getUserName());

4. Após a conclusão da configuração, clique em "Salvar", execute o JMeter e visualize os resultados da tabela, conforme mostrado na figura a seguir:

 

3.2 Parâmetros do usuário

Os parâmetros do usuário são usados ​​para fazer vários conjuntos de parâmetros para cada thread do grupo de threads a ser usado. Se o número de threads for maior que o número de grupos de parâmetros do usuário, os threads extras chamarão os grupos de parâmetros em sequência a partir do primeiro conjunto de parâmetros do usuário; Diferentes grupos de threads (usuários) usam valores de variáveis ​​diferentes.

1. Vamos dar uma olhada na aparência deste parâmetro do usuário : Caminho: Thread Group > Add > Preprocessor > User Parameters , conforme mostrado na figura a seguir:

 

2. Os principais parâmetros são descritos a seguir:

Nome: nome, pode ser definido à vontade, ou até vazio;

Comentários: Comentários, podem ser definidos à vontade, podem ser vazios;

Atualizar uma vez por iteração: identifica se o elemento deve ser atualizado uma vez por iteração;

3.2.1 Exemplos

1. Crie um novo plano de teste e adicione parâmetros do usuário no grupo de encadeamentos, conforme mostrado na figura a seguir:

 

2. Em seguida, defina o número de threads para 3, conforme mostrado na figura a seguir:

 

3. Após a conclusão da configuração, clique em "Salvar", execute o JMeter e visualize os resultados da tabela, conforme mostrado na figura a seguir:

 

3.3 Analisador de links HTML

Analisador de link HTML, usado para analisar links e formulários da página html retornada pelo amostrador anterior de acordo com as regras e, em seguida, corresponder e modificar de acordo com as regras no amostrador onde o processador está localizado e, em seguida, o amostrador será executado;

1. Vamos dar uma olhada na aparência deste analisador de link HTML : Caminho: Thread Group > Add > Preprocessor > HTML Link Parser , conforme mostrado na figura a seguir:

 

3.3.1 Exemplos

1. Crie um novo plano de teste, adicione 1 controlador de uso único no grupo de encadeamentos, adicione 1 gerenciador de cabeçalho HTTP e 2 amostradores para pesquisar e clique no link no controlador de uso único, conforme mostrado na figura a seguir:

(1) gerenciador de cabeçalho HTTP

 

(2) Pesquisa Du Niang (este amostrador é uma solicitação de pesquisa e retorna uma página HTML)

 

(3) Clique no link (este amostrador adiciona um analisador de link HTML, o analisador corresponderá à página HTML retornada pelo amostrador de acordo com cada expressão regular no amostrador e enviará o amostrador)

 

2. Em seguida, clique no link para adicionar o analisador de link HTML, conforme mostrado na figura a seguir:

 

3. Após a configuração ser concluída, clique em "Salvar", execute o JMeter e visualize os resultados da tabela (), conforme mostrado na figura a seguir:

(1) Resultados da pesquisa de Du Niang

 

(2) Clique no resultado do link

 

3.4 Modificadores de reescrita de URL HTTP

Modificador de reescrita de URL HTTP. Este processador é semelhante ao HTTP Link Parser, mas é dedicado a solicitações http que usam reescrita de URL para armazenar sessionId em vez de cookies. Adicionar este modificador no nível do grupo de encadeamento se aplica a todas as amostras. Se for um único Adicionar uma amostra aplica-se apenas a essa amostra. Como o nome sugere, isso nos ajuda a redirecionar solicitações de URL; reescrever URLs para armazenar ids de sessão. Sabemos que a sessão entre o navegador e o servidor geralmente é gerenciada por um cookie, que é o HTTP Cookie Manager no JMeter, mas na prática existe outra forma de manter uma sessão. Por exemplo, o sistema só permite que usuários que efetuaram login com sucesso acessem o sistema. Quando o usuário efetua login com sucesso, um SessionID (ou JsessionId) é retornado ao usuário e os acessos subsequentes precisam verificar esse SessionID. Se as requisições subsequentes forem submetidas na forma de Get, então o SessionID precisa ser anexado ao link da URL, e todas as requisições Get são iguais. Este tipo de trabalho repetitivo pode obviamente ser feito com uma operação. No JMeter Esta ação é o modificador de reescrita de URL HTTP.

Por que usar a reconfiguração de endereço de URL? Por causa das configurações de segurança de alguns navegadores, a sessão está desabilitada. O princípio da sessão é salvar o ID da sessão no cookie do cliente. Portanto, se a função de cookie estiver desabilitada neste momento, todas as funções usando session serão inválidas. Se a tecnologia de reescrita de endereço url for usada, o servidor codificará a sessão e a gravará após o endereço url como um parâmetro a ser passado. Isso não só melhora o cliente A segurança do terminal também é evitada e o risco de a função ser blindada é evitado.

1. Vamos primeiro dar uma olhada na aparência desse modificador de reescrita de URL HTTP : Caminho: Grupo de threads > Adicionar > Pré-processador > Modificador de reescrita de URL HTTP , conforme mostrado na figura a seguir:

 

2. Os principais parâmetros são descritos a seguir:

Nome: nome, pode ser definido à vontade, ou até vazio;

Comentários: Comentários, podem ser definidos à vontade, podem ser vazios;

Nome do Argumento da Sessão: Nome do parâmetro da sessão, usado para procurar sessionId, outras amostras também podem chamar o sessionId obtido através deste parâmetro;

Extensão do caminho: Extensão do caminho, se um ponto e vírgula for adicionado à url como uma divisão, marque esta opção;

Não use igual na extensão do caminho: usado para url para separar tipos de chave e valor sem sinal de igual;

Não use ponto de interrogação na extensão do caminho: para uso sem ? tipo;

Cache Session Id?: Se esta opção estiver marcada, o sessionId obtido da amostra montada será armazenado para uso por outras amostras posteriormente;

Codificação de URL: se deve usar a codificação de URL;

3.4.1 Exemplo de Princípio do Modificador de Reescrita de URL HTTP

 

3.5 Pré-processador JDBC

O pré-processador do banco de dados é usado para consultar o banco de dados e obter alguns valores antes de iniciar a amostra; o pré-processador jdbc é o mesmo que o JDBC Request do sampler. Você pode consultar este artigo

1. Vamos dar uma olhada na aparência deste JDBC PreProcessor : Path: Thread Group > Add > Preprocessor > JDBC Preprocessor , conforme mostrado na figura a seguir:

2. Os principais parâmetros são descritos a seguir:

Nome: nome, pode ser definido à vontade, ou até vazio;

Comentários: Comentários, podem ser definidos à vontade, podem ser vazios;

Nome da Variável do Pool declarado na Configuração de Conexão JDBC: O nome do pool de conexão, que deve ser igual ao Nome da Variável na configuração da conexão JDBC (este pré-processador requer uma Configuração de Conexão JDBC, que está no elemento de configuração);

Tipo de consulta: tipo de consulta do banco de dados, você pode escolhê-lo de acordo com suas necessidades;

Consulta: caixa de entrada da instrução do banco de dados, digite conforme necessário, tome cuidado para não adicionar ";" no final;

Valores de parâmetro: nome do parâmetro, se houver "?" na instrução de consulta, preencha o valor aqui, você pode usar o método de parâmetro de chamada;

Tipos de parâmetro: tipo de parâmetro, correspondente aos valores de parâmetro, defina o tipo de parâmetro, o mesmo que o tipo de campo sql;

Nomes de variáveis: Defina isso para obter todos os valores da coluna fixa;

Nome da variável de resultado: Defina um nome à vontade, então esse nome será usado como parâmetro e corresponderá ao conteúdo da consulta; você pode usar o método de chamada de parâmetro para obter o valor correspondente ao nome dessa configuração;

Tempo limite da consulta: tempo limite;

Manipular ResultSet: Existem quatro opções, a forma como o resultado é salvo;

3.6 Parâmetros do usuário RegEx

Expressão regular, use expressão regular para especificar valores dinâmicos para parâmetros HTTP extraídos de outra solicitação HTTP, usada com extrator de expressão regular. Não encontrei um bom exemplo por enquanto e penso em adicioná-lo mais tarde. .

1. Vamos dar uma olhada na aparência deste pré- processador JSR223 : Caminho: Thread Group > Add > Preprocessor > JSR223 Preprocessor , conforme mostrado na figura a seguir:

2. Os principais parâmetros são descritos a seguir:

Nome: nome, pode ser definido à vontade, ou até vazio;

Comentários: Comentários, podem ser definidos à vontade, podem ser vazios;

Nome de referência de expressão regular: o nome de referência no extrator de expressão regular chamado;

Nomes de parâmetros regexp group number: o número do grupo da expressão regular usada para extrair nomes de parâmetros;

Valores de parâmetro regex group number: O número do grupo da expressão regular usada para extrair valores de parâmetro.

3.7 Tempo limite da amostra

O timer de timeout é usado para definir o tempo de timeout da amostra.Se o tempo de conclusão for muito longo, o pré-processador agendará a tarefa do timer para interromper a amostra;

1. Vamos dar uma olhada na aparência deste Sample Timeout : Path: Thread Group > Add > Preprocessor > Sample Timeout , conforme mostrado na figura a seguir:

 

2. Os principais parâmetros são descritos a seguir:

Nome: nome, pode ser definido à vontade, ou até vazio;

Comentários: Comentários, podem ser definidos à vontade, podem ser vazios;

Tempo limite da amostra: tempo limite;

3.8 Pré-processador BeanShell

O BeanShell é um interpretador de código-fonte Java gratuito que suporta linguagens de script baseadas em objetos e também pode ser incorporado no código-fonte Java. Depois de adicionar o processador, você pode escrever diretamente o código java nele para realizar a operação funcional desejada.

O uso é semelhante ao sampler Beanshell, você pode consultar: Jmeter (quinze) - da entrada ao mestre - JMeter importar pacote Jar personalizado Este artigo.

1. Vamos dar uma olhada na aparência deste BeanShell PreProcessor : Caminho: Thread Group > Add > Preprocessor > BeanShell Preprocessor , conforme mostrado na figura a seguir:

 

2. Os principais parâmetros são descritos a seguir:

Nome: nome, pode ser definido à vontade, ou até vazio;

Comentários: Comentários, podem ser definidos à vontade, podem ser vazios;

Idioma: idioma, o idioma selecionado para o script de desenvolvimento, o idioma JSR223 usado, pode ser selecionado de acordo com as necessidades;

Parâmetros: parâmetros, parâmetros passados ​​para o script;

Nome do arquivo: nome do arquivo, arquivo de script desenvolvido localmente (substituirá o script escrito em JMeter);

Cache de compilação de script: Armazenar scripts compilados, verificados por padrão;

Script: Para executar o script. Área de script.

4. Resumo

  Bem, todos os pré-processadores do JMeter foram apresentados aqui hoje, obrigado por sua paciente leitura e aprendizado.

 

Acho que você gosta

Origin blog.csdn.net/ZangKang1/article/details/124319641
Recomendado
Clasificación