Feather Background Waves Background
Ir para o conteúdo principal
Feather Background Waves Background
Feather Background Waves Background
  1. JMeter em Português/

Repetição de Parâmetros em JMeter

Novato - This article is part of a series.
Part 14: This Article

correlation

Neste um dos nossos publicações anteriores, abordamos o tópico da cancelamento de parâmetros. Isso ocorreu na parte final do nosso estudo sobre como salvar os resultados em formato CSV ou XML do arquivo JTL. Agora, eu posto os parâmetros e exemplo:

-Jjmeter.save.saveservice.output_format=xml
-Jjmeter.save.saveservice.response_data=true

Execução na linha de comando:

jmeter.sh  -n -t script.jmx -l resultados.jtl -j bitacora.log -Jjmeter.save.saveservice.output_format=xml -Jjmeter.save.saveservice.response_data=true
O Que São Estes Parâmetros?>

O Que São Estes Parâmetros? #

Bem, eles não são parâmetros; são propriedades. JMeter tem dois tipos de variáveis, como qualquer linguagem de programação. As variáveis locais simplesmente se referem a elas como variáveis, mas as propriedades globais são chamadas de propriedades. Aqui você pode ver a definição no Manual do Usuário de JMeter.

O que é o escopo de uma variável ?>

O que é o escopo de uma variável ? #

O exemplo mais simples para explicar uma variável é a correlação, as correlações usam variáveis locais porque normalmente consumem localmente dentro de um Grupo de Testes ou de Threads de Grupo e são substituídas por outro valor ou destruídas depois. As variáveis também podem ser definidas inicialmente usando a seção para este propósito na plano de teste ou usando uma elemento da configuração variáveis personalizadas, então as variáveis poderiam ter um escopo para mais do que um grupo de threads, mas é não recomendado. As variáveis são acessadas via ${Nome da variável}, se a variável não for definida e uma tentativa de acesso é feita, isso retornará um valor nulo.

O que é o escopo de uma propriedade?>

O que é o escopo de uma propriedade? #

As propriedades são definidas em três diferentes arquivos: system.properties, jmeter.properties e user.properties. A única arquivo que podemos modificar deve ser o terceiro, user.properties, porque se corremos risco de alterar seriamente a comportamento do ferramenta se erradamente modificarmos qualquer um dos dois anteriores. Se quisermos atribuir uma valor à propriedade inicialmente definida, pode-se fazer isso no arquivo user.properties. Temos uma ampla gama de valores que podemos modificar e por isso podemos revisar o guia do usuário na seção propriedades.

Como mencionamos antes, os propriedades são globais em escopo e todas as coleções de grupos de threads contidas no plano de teste podem acessar seu valor. Portanto, as propriedades são uma excelente maneira para comunicação entre grupos de thread intergrupos. Para acessar o valor das propriedades, podemos usar a função __P da seguinte forma: ${__P(Nombre_de_La_Propiedad)}.

Exemplo>

Exemplo #

No exemplo a seguir, vamos parametrizar o número de threads, tempo de ramp-up e duração do teste total. Este mesmo exemplo pode ser encontrado na página Flood.io em inglês. Substituiremos o valor da grupo de contagem de threads por ${__P(threads,1)}, o tempo de ramp-up por ${__P(rampup,1)} e a duração do teste total por ${__P(duration,60)}.

O resultado será que se o valor de threads não estiver definido, será atribuído um valor de 1. Isso é muito conveniente quando debugar ou rodar localmente, bem como para a rampa. Se a duração não for definida, a propriedade será atribuída um valor de 60, então o teste será executado por 60 segundos.

parametros-ejemplo

Para extrair o suco desta exemplo de parametrização, podemos executar a teste:

./jmeter.sh -n -t Script.jmx -l Script.jtl -Jthreads=10 -Jrampup=10 -Jduration=90

./jmeter.sh -n -t Script.jmx -l Script.jtl -Jthreads=20 -Jrampup=40 -Jduration=120

./jmeter.sh -n -t Script.jmx -l Script.jtl -Jthreads=50 -Jrampup=50 -Jduration=60

parametros-cli

Conclusão>

Conclusão #

Variáveis e propriedades são extremamente úteis e podem ajudar a resolver complexos cálculos em nossas testes. Recomendo jogar com os valores das variáveis e propriedades através dos funções vars.get, vars.put, props.get e props.put usando mapeadores, pré-processadores e post-processadores no Groovy.



Novato - This article is part of a series.
Part 14: This Article