Usar propriedades de usuário do JMeter com o Teste de Carga do Azure

Neste artigo, saiba como configurar e usar as propriedades de usuário do Apache JMeter com o Teste de Carga do Azure. Com as propriedades de usuário, é possível tornar seu teste configurável mantendo as configurações de teste fora do script de teste do JMeter. Os casos de uso para propriedades de usuário incluem:

  • Você deseja usar o script de teste JMX em vários ambientes de implantação com pontos de extremidade de aplicativo diferentes.
  • O script de teste precisa acomodar vários padrões de carga, como testes de fumaça, pico de carga ou testes de imersão.
  • Você deseja substituir o comportamento padrão do JMeter definindo as configurações do JMeter, como o formato de arquivo de resultados.

O Teste de Carga do Azure dá suporte às propriedades padrão do Apache JMeter e permite carregar um arquivo de propriedades de usuário. É possível configurar um arquivo de propriedades de usuário por teste de carga.

Como alternativa, também é possível usar variáveis de ambiente e segredos no Teste de Carga do Azure para tornar seus testes configuráveis.

Observação

O Teste de Carga do Azure substitui propriedades específicas do JMeter e ignora quaisquer valores especificados para essas propriedades. Saiba mais sobre a lista de propriedades do JMeter que o Teste de Carga do Azure substitui.

Pré-requisitos

  • Uma conta do Azure com uma assinatura ativa. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
  • Um recurso de Teste de Carga do Azure. Se precisar criar um recurso de Teste de Carga do Azure, consulte o início rápido Criar e executar um teste de carga.

Adicionar um arquivo de propriedades de usuário do JMeter ao teste de carga

É possível definir as propriedades de usuário para o script de teste do JMeter carregando um arquivo .properties no teste de carga. O Teste de Carga do Azure dá suporte a um único arquivo de propriedades do JMeter por teste de carga. Arquivos de propriedade adicionais são ignorados.

O trecho de código a seguir mostra um arquivo de propriedades de usuário de exemplo que define três propriedades de usuário e define a jmeter.save.saveservice.thread_name definição de configuração:

# peak-load.properties
# User properties for testing peak load
threadCount=250
rampUpSeconds=30
durationSeconds=600

# Override default JMeter properties
jmeter.save.saveservice.thread_name=false

Para adicionar um arquivo de propriedades de usuário ao seu teste de carga usando o portal do Azure, siga estas etapas:

  1. No portal do Azure, acesse seu recurso de Teste de Carga do Azure.

  2. No painel esquerdo, selecione Testes para exibir a lista de testes.

  3. Selecione o teste na lista marcando a caixa de seleção e, em seguida, selecione Editar. Como alternativa, selecione Criar teste para criar um teste de carga.

  4. Clique na guia Plano de teste.

  5. Selecione o arquivo de propriedades no computador e, em seguida, clique em Upload para carregar o arquivo no Azure.

    Screenshot that shows the steps to upload a user properties file on the Test plan tab on the Edit test pane.

  6. Selecione Propriedades de usuário na lista suspensa Relevância de arquivo.

    Screenshot that highlights the file relevance dropdown for a user properties file on the Test plan pane.

    É possível selecionar apenas um arquivo como arquivo de propriedades de usuário por teste de carga.

  7. Selecione Aplicar para modificar o teste ou Examinar + criar e Criar para criar o teste.

Propriedades de referência no JMeter

O Teste de Carga do Azure dá suporte à funcionalidade interna do Apache JMeter para fazer referência às propriedades de usuário no JMX (script de teste do JMeter). É possível usar as funções __property ou __P para recuperar os valores de propriedade do arquivo de propriedade carregado anteriormente.

O snippet de código a seguir mostra um exemplo de como referenciar propriedades em um arquivo JMX:

<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Test home page" enabled="true">
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
    <boolProp name="LoopController.continue_forever">false</boolProp>
    <intProp name="LoopController.loops">-1</intProp>
</elementProp>
<stringProp name="ThreadGroup.num_threads">${__P(threadCount,1)}</stringProp>
<stringProp name="ThreadGroup.ramp_time">${__P(rampUpSeconds,1)}</stringProp>
<boolProp name="ThreadGroup.scheduler">true</boolProp>
<stringProp name="ThreadGroup.duration">${__P(durationSeconds,30)}</stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
</ThreadGroup>

Como alternativa, você também especifica propriedades na interface do usuário do JMeter. A imagem a seguir mostra como usar propriedades para configurar um grupo de threads do JMeter:

Screenshot that shows how to reference user properties in the JMeter user interface.

É possível baixar os logs de erros do JMeter para solucionar erros durante o teste de carga.

Próximas etapas