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

Neste artigo, saiba como configurar e usar as propriedades do usuário Apache JMeter com o Teste de Carga do Azure. Com as propriedades do usuário, você pode 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 diferentes pontos de extremidade de aplicativo.
  • Seu 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 que você carregue um arquivo de propriedades do usuário. Você pode configurar um arquivo de propriedades do usuário por teste de carga.

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

Nota

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

Pré-requisitos

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

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

Você pode definir propriedades de usuário para seu script de teste JMeter carregando um arquivo .properties para o teste de carga. O Teste de Carga do Azure dá suporte a um único arquivo de propriedades 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, vá para seu recurso de Teste de Carga do Azure.

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

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

  4. Selecione a guia Plano de teste .

  5. Selecione o arquivo de propriedades do seu computador e, em seguida, selecione Carregar 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 do usuário na lista suspensa Relevância do arquivo.

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

    Você pode selecionar apenas um arquivo como um arquivo de propriedades do usuário para um teste de carga.

  7. Selecione Aplicar para modificar o teste ou Rever + criar e, em seguida, Criar para criar o novo teste.

Propriedades de referência em JMeter

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

O trecho de código a seguir mostra um exemplo de como fazer referência a 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 JMeter:

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

Você pode baixar os logs de erros do JMeter para solucionar erros durante o teste de carga.

Próximos passos