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:
No portal do Azure, acesse seu recurso de Teste de Carga do Azure.
No painel esquerdo, selecione Testes para exibir a lista de testes.
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.
Clique na guia Plano de teste.
Selecione o arquivo de propriedades no computador e, em seguida, clique em Upload para carregar o arquivo no Azure.
Selecione Propriedades de usuário na lista suspensa Relevância de arquivo.
É possível selecionar apenas um arquivo como arquivo de propriedades de usuário por teste de carga.
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:
É possível baixar os logs de erros do JMeter para solucionar erros durante o teste de carga.
Próximas etapas
- Saiba mais sobre as propriedades do JMeter que o Teste de Carga do Azure substitui.
- Saiba mais sobre como parametrizar um teste de carga usando variáveis de ambiente e segredos.
- Saiba mais sobre como diagnosticar testes de carga com falha.