22. Dicas e Sugestões ¶
Esta seção é uma coleção de várias dicas e sugestões que foram sugeridas por várias perguntas na lista de usuários do JMeter. Se você não encontrar o que procura aqui, verifique o JMeter Wiki . Além disso, tente pesquisar na lista de usuários do JMeter; alguém pode muito bem já ter fornecido uma solução.
22.1 Passando variáveis entre threads ¶
As variáveis JMeter têm escopo de encadeamento. Isso é deliberado, para que os threads possam agir de forma independente. No entanto, às vezes há a necessidade de passar variáveis entre threads diferentes, no mesmo ou em grupos de threads diferentes.
Uma maneira de fazer isso é usar uma propriedade em vez disso. As propriedades são compartilhadas entre todos os encadeamentos do JMeter, portanto, se um encadeamento definir uma propriedade , outro encadeamento poderá ler o valor atualizado.
Se houver muitas informações que precisam ser passadas entre os encadeamentos, considere usar um arquivo. Por exemplo, você pode usar Salvar respostas para um ouvinte de arquivo ou talvez um BeanShell PostProcessor em um thread e ler o arquivo usando o protocolo HTTP Sampler " file: " e extrair as informações usando um elemento PostProcessor ou BeanShell.
Se você puder derivar os dados antes de iniciar o teste, pode ser melhor armazená-los em um arquivo, lê-los usando o conjunto de dados CSV.
22.2 Habilitando o registro de depuração ¶
A maioria dos elementos de teste inclui log de depuração. Se estiver executando um plano de teste a partir da GUI, selecione o elemento de teste e use o Menu Ajuda para ativar ou desativar o registro. O Menu Ajuda também tem uma opção para exibir a GUI e os nomes das classes dos elementos de teste. Você pode usá-los para determinar a configuração de propriedade correta para alterar o nível de log.
Às vezes é muito útil ver mensagens de log para depurar linguagens de script dinâmicas como BeanShell ou Apache Groovy usadas no JMeter. Você pode visualizar as mensagens de log diretamente na GUI do JMeter, para isso:
- use o menu , um console de log aparecerá na parte inferior da interface
- Ou clique no ícone Aviso no canto superior direito da GUI
jmeter.loggerpanel.display=truePara evitar o uso de muita memória, este componente limita o número de caracteres usados por este painel:
jmeter.loggerpanel.maxlength=80000
22.3 Pesquisando ¶
Às vezes é difícil encontrar em uma árvore e elementos do Plano de Testes usando uma variável ou contendo um determinado URL ou parâmetro. Um novo recurso já está disponível desde a versão 2.6, você pode acessá-lo no Menu Search. Ele fornece pesquisa com as seguintes opções:
- Maiúsculas e minúsculas
- Torna a pesquisa sensível a maiúsculas e minúsculas
- Exp.
- É texto para pesquisar um regexp, se for o caso Regexp será pesquisado na Árvore de componentes, exemplo " \btest\b " corresponderá a qualquer componente que contenha teste em elementos pesquisáveis do componente
22.4 JMeter com tela HiDPI no Linux ou Windows ¶
O modo HiDPI não é suportado atualmente pela API Swing em Java no Linux, MacOS ou Windows. Portanto, o JMeter pode ser muito difícil de ler com uma tela HiDPI (pequenos ícones e caracteres).
Você pode melhorar a exibição do JMeter na tela HiDPI alterando algumas propriedades:
- jmeter.hidpi.mode
- defina como true para ativar um modo ' pseudo '-hidpi permitindo aumentar o tamanho de alguns elementos da interface do usuário
- jmeter.hidpi.scale.factor
- definido como 2.0 para dimensionar o tamanho de alguns elementos da interface do usuário
- jmeter.toolbar.icons.size
- com estes valores: 22x22 (tamanho padrão), 32x32 ou 48x48 (valor sugerido para HiDPI)
- jmeter.tree.icons.size
- com estes valores: 19x19 (tamanho padrão), 24x24 , 32x32 (valor sugerido para HiDPI) ou 48x48
Além disso, você pode aumentar o tamanho da fonte das áreas de texto em alguns elementos, como o amostrador JSR223, alterando essas propriedades:
- jsyntaxtextarea.font.family
- defina como Hack para ativar e alterar a fonte e seu tamanho
- jsyntaxtextarea.font.size
- definido para um valor maior, como 28 (valor sugerido para HiDPI)
- Nós da árvore JMeter
- Ícones na barra de ferramentas
- Conteúdo das tabelas
- Tamanho da fonte em áreas de texto
22.5 Configuração do processo de salvamento automático ¶
Desde o JMeter 3.0, o JMeter salva automaticamente até dez backups de todos os arquivos jmx salvos. Quando ativado, pouco antes do arquivo jmx ser salvo, será feito backup na subpasta ${JMETER_HOME}/backups . Os arquivos de backup são nomeados após o arquivo jmx salvo e atribuído a um número de versão que é incrementado automaticamente, ex: test-plan-000001.jmx , test-plan-000002.jmx , test-plan-000003.jmx , etc. -backup, inclua as seguintes propriedades em user.properties .
- backup_on_save
-
Para ativar/desativar o backup automático, defina a seguinte propriedade como true / false (o padrão é true ):
jmeter.gui.action.save.backup_on_save=false
- diretório_backup
-
O diretório de backup também pode ser definido em um local diferente. Definir a propriedade jmeter.gui.action.save.backup_directory para o caminho do diretório desejado fará com que os arquivos de backup sejam armazenados dentro em vez da pasta ${JMETER_HOME}/backups . Se o diretório especificado não existir, ele será criado. Deixar esta propriedade indefinida fará com que a pasta ${JMETER_HOME}/backups seja usada.
jmeter.gui.action.save.backup_directory=/path/to/backups/dir
- keep_backup_max_hours
-
Você também pode configurar o tempo máximo (em horas) que os arquivos de backup devem ser preservados desde a hora de salvamento mais recente. Por padrão, um tempo de expiração zero é definido, o que instrui o JMeter a preservar os arquivos de backup para sempre. Use a seguinte propriedade para controlar o tempo máximo de preservação:
jmeter.gui.action.save.keep_backup_max_hours=0
- keep_backup_max_count
-
Você pode definir o número máximo de arquivos de backup que devem ser preservados. Por padrão , 10 backups serão mantidos. Definir isso como zero fará com que os backups nunca sejam excluídos (a menos que keep_backup_max_hours seja definido como um valor não nulo) A seleção máxima de arquivos de backup é processada após a seleção de expiração de tempo, portanto, mesmo que você defina um ano como o tempo de expiração, apenas o keep_backup_max_count mais os arquivos de backups recentes serão mantidos.
jmeter.gui.action.save.keep_backup_max_count=10
22.5 Adicionando Elementos com Teclas de Atalho ¶
Quando você faz scripts intensos com o JMeter, há uma maneira de adicionar elementos para testar o plano rapidamente com atalhos de teclado. As ligações padrão são:
- Ctrl + 0
- Grupo de tópicos
- Ctrl + 1
- Solicitação HTTP
- Ctrl + 2
- Extrator de Expressão Regular
- Ctrl + 3
- Declaração de resposta
- Ctrl + 4
- Temporizador constante
- Ctrl + 5
- Ação de teste
- Ctrl + 6
- Pós-processador JSR223
- Ctrl + 7
- Pré-processador JSR223
- Ctrl + 8
- Amostrador de depuração
- Ctrl + 9
- Ver árvore de resultados
Para alterar essas ligações, por favor, encontre as propriedades " gui.quick_* " dentro do arquivo jmeter.properties como exemplo, é recomendado colocar sobreposições para elas no arquivo user.properties .
22.6 O renderizador do navegador não está sendo exibido na Árvore de Resultados da Visualização ¶
Se estiver usando OpenJDK ou Oracle Java versão superior a 8, você notará que o Browser Renderer não é exibido. Isso ocorre porque o JavaFX não está incorporado. Para ter este elemento, você precisa seguir o procedimento abaixo.
- Siga esta documentação para instalar o Java FX para seu sistema operacional e versão Java.
Se você não quiser ler, aqui estão os passos necessários:- Acesse o site da Gluon e baixe o runtime para sua versão e sistema operacional Java
- Descompacte-o
- Em seguida, configure uma variável apontando para a pasta lib:
Linux/MacOSX:
export PATH_TO_FX=path/to/javafx-sdk-XX/lib
Janelas:
set PATH_TO_FX=path/to/javafx-sdk-XX/lib
- Em seguida, abra o arquivo bin/jmeter para Linux/MacOSX, bin/jmeter.bat para Windows, encontre a variável JAVA9_OPTS e adicione:
Linux/MacOSX:
--module-path $PATH_TO_FX --add-modules javafx.web,javafx.swing
Janelas:
--module-path %PATH_TO_FX% --add-modules javafx.web,javafx.swing