Esta página detalha as alterações feitas apenas nas versões anteriores.
As alterações atuais são detalhadas em Alterações .
As seções de alterações são ordenadas cronologicamente de cima (mais recente) para baixo (menos recente)
Versão 5.4.2
Resumo
Esta versão é uma versão de correção contra a vulnerabilidade CVE-2021-44228: os recursos Apache Log4j2 JNDI não protegem contra LDAP controlado por invasores e outros endpoints relacionados a JNDI.
Temporizadores, asserções, configuração, pré e pós-processadores
Funções
I18N
Relatório / Painel
Em geral
Alterações não funcionais
Atualizado o log4j2 do Apache para 2.16.0 (de 2.13.3).
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Outros Amostradores
Controladores
Ouvintes
Temporizadores, asserções, configuração, pré e pós-processadores
Funções
I18N
Relatório / Painel
Documentação
Em geral
Obrigado
Agradecemos a todos os contribuidores mencionados nas seções de bugs e melhorias acima:
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Desculpe se omitimos mais alguém.
Problemas conhecidos e soluções alternativas
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Você pode encontrar o seguinte erro:
java.security.cert.CertificateException: os certificados não estão em conformidade com as restrições do algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption ) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 8+.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
No Mac OSX Aggregate Graph mostrará valores errados devido ao efeito de espelhamento nos números. Isso ocorre devido a um bug Java conhecido, veja Bug JDK-8065373
A correção é usar JDK8_u45 ou posterior.
A Árvore de Resultados da Visualização pode falhar ao exibir algum código HTML no renderizador HTML, consulte
o Bug 54586 . Isso se deve a um bug conhecido do Java que falha ao analisar unidades " px " em atributos de linha/coluna. Veja Bug JDK-8031109
A correção é usar JDK9 b65 ou posterior.
A seleção de JTable com teclado ( SHIFT + up/down ) é totalmente inutilizável com Java 7 no Mac OSX. Isso ocorre devido a um bug Java conhecido JDK-8025126
A correção é usar o JDK 8 b132 ou posterior.
Desde o Java 11, a implementação de JavaScript Nashorn foi preterida . Java emitirá os seguintes avisos de descontinuação, se você estiver usando JavaScript baseado em Nashorn.
Aviso: o mecanismo Nashorn está planejado para ser removido de uma versão futura do JDK
Para silenciar esses avisos, adicione -Dnashorn.args=--no-deprecation-warning aos seus argumentos Java. Isso pode ser alcançado definindo a variável de ambiente JVM_ARGS
Com Java 15 a implementação JavaScript Nashorn foi removida . Para adicionar novamente um mecanismo JavaScript compatível com JSR-223, você tem duas opções:
A implementação do OpenJDK Nashorn vem como um módulo. Para usá-lo, você terá que baixá-lo e adicioná-lo ao caminho do módulo. Uma maneira hacky de baixar a versão 15.0 e suas dependências e definir o caminho do módulo é descrita abaixo:
Reiniciar após a alteração do LAF ter sido restabelecida, ela foi removida no JMeter 5.3
Melhorias
Amostradores HTTP e Gravador de Script de Teste
Outros amostradores
Controladores
Ouvintes
Temporizadores, asserções, configuração, pré e pós-processadores
Funções
I18N
Relatório / Painel
Em geral
Bug 65028
- Adicionar documentação para a propriedade client.rmi.localport
Bug 65012
- Melhor manuseio da exibição de comentários longos na GUI
Alterações não funcionais
SaxonHE atualizado para 9.9.1-8 (de 9.9.1-7)
ASM atualizado para 9.0 (de 7.3.1)
Bouncycastle atualizado para 1,67 (de 1,66)
Cafeína atualizada para 2.8.8 (de 2.8.0)
Atualizado o codec comum para 1.15 (de 1.14)
Commons-io atualizado para 2.8.0 (de 2.7)
Atualizado commons-net para 3.7.2 (de 3.7)
Jackson atualizado para 2.10.5 (de 2.10.3)
Junit atualizado para 4.13.1 (de 4.13)
Atualizado ph-commons para 9.5.1 (de 9.4.1)
Ph-css atualizado para 6.2.3 (de 6.2.1)
Atualizado groovy para 3.0.7 (de 3.0.5)
Xstream atualizado para 1.4.15 (de 1.4.14)
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Bug 64955
- A senha do keystore não é redefinida ao recarregar
Bug 65002
- O gravador de script de teste HTTP(S) cria uma URL de autenticação básica inválida. Contribuição de Ubik Load Pack (https://ubikloadpack.com)
Bug 65004
- O gravador de script de teste HTTP(S) calcula a solicitação HTTP incorreta que interrompe o aplicativo. Contribuição de Ubik Load Pack (https://ubikloadpack.com)
Bug 64543
- No MacOSX, Darklaf- IntelliJ Theme lança NPE em javax.swing.ToolTipManager.initiateToolTip
Bug 65024
- Enviando tipo mime com parâmetro lança IllegalArgumentException
Bug 65029
- Tente adivinhar corretamente o URL para applets, quando o download de URLs incorporados está ativado
Outros Amostradores
Bug 65034
- Ignore SocketTimeoutException em BinaryTCPClientImpl , quando nenhum EOM Byte é definido. Regressão introduzida pelo commit c190641e4f0474a34a366a72364b0a8dd25bfc81 que corrigiu o
Bug 52104
- . Esse bug era lidar com o caso de esperar por uma MOE.
Controladores
Ouvintes
Bug 64821
- Ao importar arquivos jtl formatados em XML, os subamostradores serão renomeados
Bug 65052
- XPath2 Tester e JSON JMESPath Tester estão ausentes na propriedade view.results.tree.renderers_order
Temporizadores, asserções, configuração, pré e pós-processadores
Funções
I18N
Relatório / Painel
Documentação
Bug 64960
- Altere a referência do agendador na documentação do Thread Group. Contribuição de Ori Marko
Bug 65006
- Ilustração para o elemento HTTP Request Defaults concluído (Figura 4.4) contém informações enganosas
Em geral
Bug 64957
- Ao importar o plano de teste de exemplo, o JMeter exibe um NullPointerException
Bug 64961
- Darklaf: no Windows 7, NPE em BasicEditorPaneUI.cleanDisplayProperties com Darklaf Intellij
Bug 64963
- A dica de ferramenta de comentário em branco é visível
Bug 64969
- RemoteJMeterEngineImpl#rexit não desexporta RemoteJMeterEngineImpl na saída. Contribuição de luo_isaiah em qq.com
Bug 64984
- Darklaf LAF: Selecionar um elemento de teste não funciona em determinadas resoluções de tela no Windows. Com a ajuda de Jannis Weis
Bug 65008
- SampleResult.setIgnore() chamado de PostProcessor não é considerado
Bug 64993
- Daklaf LAF: A navegação do menu não funciona com atalhos de teclado. Com a ajuda de Jannis Weis
Bug 65013
- O código POST multipart/form-data cURL com argumentos entre aspas não é importado corretamente
Obrigado
Agradecemos a todos os contribuidores mencionados nas seções de bugs e melhorias acima:
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Desculpe se omitimos mais alguém.
Problemas conhecidos e soluções alternativas
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Você pode encontrar o seguinte erro:
java.security.cert.CertificateException: os certificados não estão em conformidade com as restrições do algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption ) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 8+.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
No Mac OSX Aggregate Graph mostrará valores errados devido ao efeito de espelhamento nos números. Isso ocorre devido a um bug Java conhecido, veja Bug JDK-8065373
A correção é usar JDK8_u45 ou posterior.
A Árvore de Resultados da Visualização pode falhar ao exibir algum código HTML no renderizador HTML, consulte
o Bug 54586 . Isso se deve a um bug conhecido do Java que falha ao analisar unidades " px " em atributos de linha/coluna. Veja Bug JDK-8031109
A correção é usar JDK9 b65 ou posterior.
A seleção de JTable com teclado ( SHIFT + up/down ) é totalmente inutilizável com Java 7 no Mac OSX. Isso ocorre devido a um bug Java conhecido JDK-8025126
A correção é usar o JDK 8 b132 ou posterior.
Desde o Java 11, a implementação de JavaScript Nashorn foi preterida . Java emitirá os seguintes avisos de descontinuação, se você estiver usando JavaScript baseado em Nashorn.
Aviso: o mecanismo Nashorn está planejado para ser removido de uma versão futura do JDK
Para silenciar esses avisos, adicione -Dnashorn.args=--no-deprecation-warning aos seus argumentos Java. Isso pode ser alcançado definindo a variável de ambiente JVM_ARGS
Com Java 15 a implementação JavaScript Nashorn foi removida . Para adicionar novamente um mecanismo JavaScript compatível com JSR-223, você tem duas opções:
A implementação do OpenJDK Nashorn vem como um módulo. Para usá-lo, você terá que baixá-lo e adicioná-lo ao caminho do módulo. Uma maneira hacky de baixar a versão 15.0 e suas dependências e definir o caminho do módulo é descrita abaixo:
Bug 62179
-
Bug 64658
- A tela inicial agora é modal de aplicativo em vez de modal de sistema, portanto não bloqueia outros aplicativos quando o JMeter está inicializando.
Alterações incompatíveis
Remova a funcionalidade do registrador LogKit de algumas classes. Isso foi feito para remover completamente a
classe LoggingManager (ela está obsoleta desde o JMeter 3.2), mas como jmeter-plugins dependiam dela, LoggingManager e nosso adaptador LogKit permanecerão para esta versão (mas ainda está obsoleto).
Melhorias
Amostradores HTTP e Gravador de Script de Teste
Bug 53848
-
Bug 63527
- Implementar uma nova configuração para permitir a exclusão de URLs incorporados
Bug 64752
- Adicionar amostrador de solicitação GraphQL/HTTP. Contribuição de Woosan.
Outros amostradores
Bug
64555 - Defina o campo de cabeçalho JMSType por meio de JMSProperties. Contribuição de Daniel van den Ouden
Controladores
Ouvintes
Pull request #544
- Adicione BackendListener que envia resultados "brutos" para o InfluxDB. Contribuição de Graham Russell (graham em ham1.co.uk)
Temporizadores, asserções, configuração, pré e pós-processadores
Funções
I18N
Relatório / Painel
Bug 64824
- Relatório de painel/HTML: renomear KO para FAIL
Bug 64936
- Aumente o generate_report_ui.generation_timeout para 5 minutos para lidar com grandes testes de desempenho
Em geral
Bug 64446
- Melhor análise de comandos curl com barra invertida nos finais de linha e suporte ao método PUT com argumentos de dados
Pull request #599
- Certifique-se de que todos os botões adicionados à barra de ferramentas se comportem/apareçam de forma consistente. Contribuição de Jannis Weis
Bug 64581
- Permitir que SampleResult#setIgnore influencie o comportamento no erro do amostrador
Bug 64680
- Volte para JMETER_HOME na inicialização para detectar o diretório de instalação do JMeter
Bug 63809
-
Pull request #557
- Atualizado commons-collections para 4.4 (de 3.2.2) mantendo os jars para o antigo commons-collections 3.x para compatibilidade
Pull request #598
- Adicione outra opção para criar diferenças na página de construção. Contribuição de jmetertea (github.com/jmetertea)
Pull request #609
- Faça uso da API mais recente para instalação do darklaf. Jannis Weis
Pull request #612
- Corrija erros de digitação em README.md . Baseado em patches de Pooja Chandak (poojachandak002 em gmail.com)
Atualize SpotBugs para 4.1.2 (de 4.1.1), atualize spotbugs-gradle-plugin para 4.5.0 (de 2.0.0)
Atualize o plug-in Gradle org.sonarqube para 3.0 (de 2.7.1)
Atualize o Apache ActiveMQ para 5.16.0 (de 5.15.11)
Atualize o Bouncycastle para 1.66 (de 1.64)
Atualize o Apache commons-io para 2.7 (de 2.6)
Atualize o Apache commons-lang3 para 3.11 (de 3.10)
Atualize o Apache commons-net para 3.7 (de 3.6)
Atualize o Apache commons-pool2 para 2.9.0 (de 2.8.0)
Atualize o texto comum do Apache para 1.9 (de 1.8)
Atualize equalsverifier para 3.4.2 (de 3.1.13)
Atualize junit5 para 5.6.2 (de 5.6.0)
Atualize o log4j2 do Apache para 2.13.3 (de 2.13.1)
Atualize rsyntaxtextarea para 3.1.1 (de 3.1.0)
Atualize JUnit5 para 5.7.0 (de 5.6.2)
Atualize o Rhino para 1.7.13 (de 1.7.12)
Atualize o XStream para 1.4.14 (de 1.4.14.1)
Atualize o Apache commons-dbcp2 para 2.8.0 (de 2.7.0)
Pull request #635
- Corrija algumas proporções de imagem na documentação. Patch fornecido por Vincent Daburon (vdaburon em gmail.com)
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Bug 64479
- Regressão: HTTP(s) Script Recorder impede o desligamento adequado no modo não-GUI
Bug 64653
- Excluir Javascript e JSON da análise de conjuntos de caracteres de formulários por proxy
Outros Amostradores
Controladores
Bug 64795
- Gerar relatório de resumo pode não gerar uma linha de resumo no intervalo configurado ( summariser.interval ): Esclarecer a documentação
Ouvintes
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 64638
- JSON JMESPath Assertion / JSON Assertion: a GUI de abertura mostra uma barra de rolagem horizontal que continua deslizando
Bug 64915
- JMeter Cache Manager se comportando mal quando "Use Cache-Control/Expires header" está marcado
Funções
I18N
Relatório / Painel
Bug 64547
- Relatório/Painel: Garanta que os códigos de resposta dos gráficos por segundo não sejam quebrados pelo código de resposta vazio em SampleResult. Contribuição de Ubik Load Pack (https://ubikloadpack.com)
Bug 64617
- Relatório HTML: No gráfico, Percentis de tempo de resposta ao longo do tempo, o percentil 90,95,99 corresponde, na realidade, aos percentis 0,90, 0,95 e 0,99
Bug 64553
- Ao usar o Transaction Controller, os bytes de envio e os bytes recebidos são exibidos como 0 no influxdb(BackendListener)
Bug 64624
- Use escape menos agressivo para JSON Strings em mensagens de erro de relatórios
Documentação
Pull request #571
- Corrija o nome documentado da CA gerada ao usar o gravador de script de proxy. Parte de um PR maior. Vincent Daburon (vdaburon em gmail.com)
Altere a documentação da funcionalidade de cabeçalho especial do servidor espelho para refletir a implementação.
Em geral
Bug 64448
- Duplicação de variável definida pelo usuário no menu de contexto do botão direito
Bug 64499
- Sair do JMeter quando jmeterengine.stopfail.system.exit=true leva muito tempo se os encadeamentos não forem interrompidos
Bug 64510
- Darklaf- IntelliJ Theme lança NPE no DarkTreeUI no MacOS
Bug 64594
- Não é possível inserir valores de variáveis em vez de valores numéricos em componentes usando PowerTableModel (impacta plugins de terceiros como Throughput Shaping Timer)
Bug 64475
- Menu Gerar Relatório HTML: Quando a geração do relatório falha devido ao tempo limite, a mensagem de erro não é explícita. Contribuição de Ubik Load Pack (https://ubikloadpack.com)
Bug 64627
- A manipulação programática do fluxo de controle via métodos de API do JMeterContext não está funcionando como antes da versão 5.0. Contribuição de Till Neunast
Bug 64647
- groovy-dateutil está ausente na distribuição
Bug 64640
- Darklaf: NPE em com.github.weisj.darklaf.ui.DarkPopupFactory.getPopupType(DarkPopupFactory.java:96)
Bug 64641
- Darklaf: NPE em com.github.weisj.darklaf.ui.tree.DarkTreeUI.isChildOfSelectionPath(DarkTreeUI.java:603) ~[darklaf-core-2.4.2-SNAPSHOT.jar:2.4.2-SNAPSHOT]
Bug 64453
- Darklaf: falha Salvar Plano de Teste como Nova Pasta
Bug 64625
- Darklaf: tentar selecionar uma pasta em Browse leva a um pop-up de erro e stacktrace
Bug 64711
- As cores da área de texto não são boas em modos escuros. Contribuição de Jannis Weis
Bug 64935
- Uma classe de plugin quebrada não deve impedir que o JMeter seja iniciado
Obrigado
Agradecemos a todos os contribuidores mencionados nas seções de bugs e melhorias acima:
Michael Weidmann (https://github.com/michaelweidmann)
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Hiroyoshi Mitsumori (mitsumori em mis.dev)
Desculpe se omitimos mais alguém.
Problemas conhecidos e soluções alternativas
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Você pode encontrar o seguinte erro:
java.security.cert.CertificateException: os certificados não estão em conformidade com as restrições do algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption ) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 8+.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
No Mac OSX Aggregate Graph mostrará valores errados devido ao efeito de espelhamento nos números. Isso ocorre devido a um bug Java conhecido, veja Bug JDK-8065373
A correção é usar JDK8_u45 ou posterior.
A Árvore de Resultados da Visualização pode falhar ao exibir algum código HTML no renderizador HTML, consulte
o Bug 54586 . Isso se deve a um bug conhecido do Java que falha ao analisar unidades " px " em atributos de linha/coluna. Veja Bug JDK-8031109
A correção é usar JDK9 b65 ou posterior.
A seleção de JTable com teclado ( SHIFT + up/down ) é totalmente inutilizável com Java 7 no Mac OSX. Isso ocorre devido a um bug Java conhecido JDK-8025126
A correção é usar o JDK 8 b132 ou posterior.
Desde o Java 11, a implementação de JavaScript Nashorn foi preterida . Java emitirá os seguintes avisos de descontinuação, se você estiver usando JavaScript baseado em Nashorn.
Aviso: o mecanismo Nashorn está planejado para ser removido de uma versão futura do JDK
Para silenciar esses avisos, adicione -Dnashorn.args=--no-deprecation-warning aos seus argumentos Java. Isso pode ser alcançado definindo a variável de ambiente JVM_ARGS
Com Java 15 a implementação JavaScript Nashorn foi removida . Para adicionar novamente um mecanismo JavaScript compatível com JSR-223, você tem duas opções:
A implementação do OpenJDK Nashorn vem como um módulo. Para usá-lo, você terá que baixá-lo e adicioná-lo ao caminho do módulo. Uma maneira hacky de baixar a versão 15.0 e suas dependências e definir o caminho do módulo é descrita abaixo:
Adicionado visual e sensação de Darklaf que melhora vários componentes.
O nível de recuo da árvore é mais fácil de seguir:
Árvore JMeter com tema Darklaf DarculaÁrvore JMeter com tema Darklaf IntelliJ
Novo visual e temas. Luz: IntellJ, Luz Solarizada, Luz de Alto Contraste. Escuro: OneDark, Solarized Dark, HighContrast Dark.
Quando um elemento na árvore está desabilitado, todos os seus descendentes são mostrados em cinza. Por exemplo, While Contoller está desabilitado na árvore a seguir, então seus filhos são cinza. É puramente uma alteração da interface do usuário e o comportamento não é alterado.
Enquanto o controlador está desabilitado, seus filhos são cinza
O menu de contexto da árvore é mostrado mesmo no caso de a seleção do nó ser alterada. Anteriormente, o pop-up desaparecia e era necessário selecionar um nó primeiro e só então iniciar o pop-up.
A aparência agora pode ser atualizada sem reinicialização
Use CTRL + ALT + roda para aumentar as fontes. O atalho anterior era CTRL + SHIFT + wheel , no entanto, entrava em conflito com a rolagem horizontal.
O zoom no aplicativo é mais consistente (por exemplo, às vezes nem todos os rótulos ou mesmo os painéis foram dimensionados). Por exemplo: visualizador de log, editor de código JSR223 não foram dimensionados anteriormente com recurso de zoom-in/out
O menu de contexto da árvore é mostrado para a linha completa, não apenas para o rótulo
Suporte para desfazer e refazer para campos editáveis. As teclas são CTRL + Z /
CTRL + SHIFT + Z ou
CMD + Z /
CMD + SHIFT + Z , dependendo do sistema operacional. Desfazer é implementado em nível de campo (cada campo tem seu próprio histórico), e o histórico é invalidado quando a seleção da árvore é alterada.
Marque o idioma atualmente selecionado no menu de opções.
Marque o nível de log atualmente selecionado no menu de opções.
Retrabalho de muitas UI de elemento de teste (solicitação JUnit, controlador ForEach, controlador if, controlador de taxa de transferência, whileController, configuração de contador, extrator XPath2, caixa de diálogo auxiliar de função, pop-up de pesquisa, elementos JMS)
Alterações incompatíveis
O valor padrão de httpclient4.time_to_live foi modificado de 2000 para 60000 , isso significa que as conexões HTTP durarão mais do que antes. Isso tem impacto na criação da conexão e no handshake SSL, veja
Bug 64289
Bug 64150
- Exibir árvore de resultados: permitir a edição de dados de resposta em testadores
Bug 63822
- Exibir árvore de resultados: manter a posição do painel dividido ao alternar o modo de renderização
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 64091
- A geração de programação precisa do Temporizador de Taxa de Transferência foi aprimorada significativamente (por exemplo, 2 segundos para amostras de 10 milhões)
Bug 64070
-
função _timeshift não funciona com formatadores de deslocamento
Bug 64275
- Caixa de Diálogo Auxiliar de Função: Melhore o UX
I18N
Bug 64102
- Adicionar tradução chinesa para o menu Ferramentas. Contribuição de Liu XP (liu_xp2003 em sina.com)
Relatório / Painel
Bug 64380
- Adicionar um campo ' Mediano ' ao painel e fazer com que os campos de percentil de tempo de resposta suportem números de ponto flutuante. Contribuição de Keith Mo (https://github.com/keithmork)
Bug 64378
- A geração de relatório HTML não deve falhar se um plugin tiver registrado um gráfico e não estiver mais presente no classpath, em vez disso, emita um aviso
Em geral
Bug 63458
-
Solicitação pull #551
- Adicionar novo modelo "Plano de teste de teste funcional [01]". Contribuição de Sebastian Boga (sebastian.boga em endava.com)
Bug 64119
- Use o primeiro renderizador da propriedade view.results.tree.renderers_order como padrão em Exibir Árvore de Resultados
Bug 64148
- Use ícones cinza para elementos desabilitados na árvore, exiba a subárvore como cinza
Bug 64198
- Permitir espaços em expressões ${...} em torno de funções.
Pull request #573
- Melhore o tempo de inicialização: pule a inicialização da interface do usuário do plano de teste
Pull request #585
- Adicionado JEXL3 como um alias de sintaxe para JSyntaxTextArea. Contribuição de drivera-armedia (https://github.com/drivera-armedia)
Bug 64120
- Atualizado jsoup para 1.13.1 (de 1.12.1)
Bug 63809
- Atualizado commons-dbcp2 para 2.7.0 (de 2.5.0)
Apache ActiveMQ atualizado para 5.15.11 (de 5.15.8)
Bouncycastle atualizado para 1,64 (de 1,60)
ASM atualizado para 7.3.1 (de 7.1)
Atualizado Apache commons-codec para 1.14 (de 1.13)
Atualizado Apache commons-pool para 2.8.0 (de 2.7.0)
Atualizado equalsverifier para 3.1.9 (de 3.1.12)
Atualizado o Apache Groovy para 2.4.18 (de 2.4.16)
Atualizado hsqldb para 2.5.0 (de 2.4.1)
Hamcrest atualizado para 2.2 (de 2.1)
Atualizado Apache httpclient e httpmime para 4.5.12 (de 4.5.10)
Atualizado Apache httpcore e httpcore-nio para 4.4.13 (de 4.4.12)
Atualizado Apache Tika para 1.24.1 (de 1.22)
Jmespath atualizado para 0.5.0 (de 0.3.0)
Apache log4j atualizado para 2.13.1 (de 2.12.1)
Atualizado junit4 para 4.13 (de 4.12)
Junit5 atualizado para 5.6.0 (de 5.5.1)
Atualizado slf4j para 1.7.30 (de 1.7.28)
Ph-commons atualizado para 9.4.1 (de 9.3.7)
Ph-css atualizado para 6.2.2 (de 6.2.0)
Atualizado rsyntaxtextarea para 3.1.0 (de 3.0.4)
Rinoceronte atualizado para 1.7.12 (de 1.7.11)
SaxonHE atualizado para 9.9.1-7 (de 9.9.1-5)
Cglib atualizado para 3.2.12 (de 3.2.9)
Atualizado commons-lang3 para 3.10 (de 3.9)
Marcador livre atualizado para 2.3.30 (de 2.3.29)
Atualizado hamcrest-date para 2.0.7 (de 2.0.4)
Atualizado equalsverifier para 3.1.13 (de 3.1.12)
Xstream atualizado para 1.4.11.1 (de 1.4.11)
Solicitação pull #559
- Adicione uma nota à fonte de TrustAllSSLSocketFactory, informando que não é seguro confiar em todos. Baseado em um PR de YYTVicky (yytvicky no github)
Pull request #588
- Adicione documentação sobre o uso do InfluxDB v2 para resultados em tempo real. Baseado no PR de Jakub Bednář (jakub.bednar em gmail.com)
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Bug 64400
- Tornar a classificação de amostras gravadas em controladores de transação mais previsível
Bug 64267
- Quando a autenticação preemptiva está desabilitada, o HTTP Sampler não responde automaticamente ao desafio de autenticação básica
Outros Amostradores
Controladores
Ouvintes
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 64091
- Temporizador de taxa de transferência preciso pode produzir menos amostras quando a duração de teste baixa é usada
Bug 64142
- Presença de DebugPostProcessor no plano de teste quebra ActiveThread ao longo do tempo no relatório devido a informações ausentes
Bug 64196
- Recurse em subamostradores mais profundamente ao verificar asserções
Bug 64196
- Recurse em sampleResults para AbstractScopedTestElement#getSampleList
Bug 64381
- PreciseThroughputTimer: No encerramento, a mensagem de log contém valor negativo
Funções
I18N
Relatório / Painel
Bug 64059
- Percentis de tempo de resposta ao longo do tempo, incapaz de alterar os percentis
Documentação
Pull request #547
- Documentação correta do nível de log. Contribuição de jmetertea
Pull request #548
- Corrija erros de digitação na documentação. Contribuição de jmetertea
Bug 64022
- Corrija a tradução em chinês para "Ignorar blocos de subcontrolador". Fornecido por yangxiaofei77 (yangxiaofei77 em gmail.com)
Pull request #552
- Corrige a descrição de alocação da porta client.rmi.localport . Contribuição de anant-93
Pull request #543
- Esclareça a documentação da função __StringToFile em relação ao valor padrão de Append to file? parâmetro. Contribuição de Ori Marko
Bug 64302
- Links corretos para a API JMeter em documentos imprimíveis e práticas recomendadas do BeanShell e para o site de implementação JavaFX em todos os documentos. Relatado por 2477441814 (2477441814 em qq.com)
Em geral
Bug 63945
- NPE ao abrir um arquivo após a alteração do sistema de arquivos
Bug 64034
- Os scripts de shell falham se houver espaço no caminho JAVA_HOME . Contribuição de ray7219 (ray7219 em hotmail.com)
Bug 63856
- Definir connectTime em amostras pai ao usar um controlador de transação
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Michael McDermott (mcdermott.michaelj em gmail.com)
yangxiaofei77 (yangxiaofei77 em gmail.com)
Markus Wolf (wolfm em t-systems.com)
Pierre Astruc (pierre.astruc em evertest.com)
YYTVicky (yytvicky no github)
2477441814 em qq.com
Desculpe se omitimos mais alguém.
Problemas conhecidos e soluções alternativas
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Você pode encontrar o seguinte erro:
java.security.cert.CertificateException: os certificados não estão em conformidade com as restrições do algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption ) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 8+.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
No Mac OSX Aggregate Graph mostrará valores errados devido ao efeito de espelhamento nos números. Isso ocorre devido a um bug Java conhecido, veja Bug JDK-8065373
A correção é usar JDK8_u45 ou posterior.
A Árvore de Resultados da Visualização pode falhar ao exibir algum código HTML no renderizador HTML, consulte
o Bug 54586 . Isso se deve a um bug conhecido do Java que falha ao analisar unidades " px " em atributos de linha/coluna. Veja Bug JDK-8031109
A correção é usar JDK9 b65 ou posterior.
A seleção de JTable com teclado ( SHIFT + up/down ) é totalmente inutilizável com Java 7 no Mac OSX. Isso ocorre devido a um bug Java conhecido JDK-8025126
A correção é usar o JDK 8 b132 ou posterior.
Desde o Java 11, a implementação de JavaScript Nashorn foi preterida . Java emitirá os seguintes avisos de descontinuação, se você estiver usando JavaScript baseado em Nashorn.
Aviso: o mecanismo Nashorn está planejado para ser removido de uma versão futura do JDK
Para silenciar esses avisos, adicione -Dnashorn.args=--no-deprecation-warning aos seus argumentos Java. Isso pode ser alcançado definindo a variável de ambiente JVM_ARGS
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Desculpe se omitimos mais alguém.
Problemas conhecidos e soluções alternativas
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Você pode encontrar o seguinte erro:
java.security.cert.CertificateException: os certificados não estão em conformidade com as restrições do algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption ) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 8+.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
No Mac OSX Aggregate Graph mostrará valores errados devido ao efeito de espelhamento nos números. Isso ocorre devido a um bug Java conhecido, veja Bug JDK-8065373
A correção é usar JDK8_u45 ou posterior.
A Árvore de Resultados da Visualização pode falhar ao exibir algum código HTML no renderizador HTML, consulte
o Bug 54586 . Isso se deve a um bug conhecido do Java que falha ao analisar unidades " px " em atributos de linha/coluna. Veja Bug JDK-8031109
A correção é usar JDK9 b65 ou posterior.
A seleção de JTable com teclado ( SHIFT + up/down ) é totalmente inutilizável com Java 7 no Mac OSX. Isso ocorre devido a um bug Java conhecido JDK-8025126
A correção é usar o JDK 8 b132 ou posterior.
Desde o Java 11, a implementação de JavaScript Nashorn foi preterida . Java emitirá os seguintes avisos de descontinuação, se você estiver usando JavaScript baseado em Nashorn.
Aviso: o mecanismo Nashorn está planejado para ser removido de uma versão futura do JDK
Para silenciar esses avisos, adicione -Dnashorn.args=--no-deprecation-warning aos seus argumentos Java. Isso pode ser alcançado definindo a variável de ambiente JVM_ARGS
Esta versão é uma versão principal. Consulte a página Histórico de alterações
para ver as últimas notas de lançamento da versão 5.1.1.
Alterações incompatíveis
O Gravador de Script de Teste HTTP(S) agora anexa o número no final dos nomes, enquanto anteriormente o adicionava no início. Veja
Bug 63450
Ao usar XPath Assertion com uma expressão XPath retornando um booleano, True se nada corresponder não teve efeito e sempre retornou true, consulte
Bug 63455
A análise de XML agora recusa XML não seguro, isso afeta os seguintes recursos:
Declaração XML
XMLSchemAssertion
Função XPath
Extratores XPath 1 e 2
Asserções XPath 1 e 2
Melhorias
Amostradores HTTP e Gravador de Script de Teste
Bug 63450
- Gravador de script de teste HTTP(S): Coloque o número no final em vez de no início
Bug 63790
- Download de recursos incorporados: otimizar a análise de CSS removendo o local de origem
Outros amostradores
Bug 63406
- Configuração de conexão JDBC: nova opção de pré-inicialização para inicializar o pool de conexões. Contribuição de Franz Schwab (franz.schwab em exasol.com)
Bug 63561
- Solicitação JDBC: Permite buscar apenas um certo número de linhas. Contribuição de Franz Schwab (franz.schwab em exasol.com)
Bug 63801
- Adiciona suporte ao protocolo Bolt para banco de dados Neo4j. Contribuição de GraphAware (www.graphaware.com)
Controladores
Bug 63565
- Se Controller: GC emitir JMeter durante a execução de resistência ao usar com "Interpret Condition as Variable Expression?" desmarcado => Melhorar a documentação
Ouvintes
Bug 63720
- BackendListener: InfluxDBBackendListenerClient Adicionar suporte para InfluxDB 2. Contribuição de Jakub Bednář (https://github.com/bednar)
Bug 63770
- Exibir árvore de resultados: Adicionar testador JMESPath. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 62863
- Habilite os keystores PKCS11 para uso com o KeyStore Manager. Baseado no patch de Clifford Harms (clifford.harms em gmail.com).
Solicitação pull #457
- Ligeira melhoria de desempenho no PoissonRandomTimer usando ThreadLocalRandom. Baseado em um patch de Xia Li.
Bug 62787
- Nova Asserção XPath2 suportando XPath2 com melhor desempenho que a Asserção XPath . Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 63643
- Ignore a BOM em arquivos abertos através do FileServer e use a BOM para detectar a codificação de caracteres, se nenhuma for fornecida explicitamente. Relatado por Havlicek Honza (havlicek.honza em gmail.com)
Bug 63727
- Novo elemento JMESPath Extractor para facilitar a extração de JSON usando a tecnologia JMESPath . Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 63763
- Novo elemento JMESPath Assertion para facilitar a assertiva em JSON usando a tecnologia JMESPath . Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 63775
- Permitir que o Boundary Extractor aceite limites vazios
Funções
Bug 63219
- Nova função __StringToFile para salvar/anexar uma string em um arquivo. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Use AtomicInteger para __counter em vez de sincronização por conta própria
I18N
Relatório / Painel
Bug 63471
-
StringConverter s usados para geração de relatórios devem ignorar espaços em branco ao redor de números.
Em geral
Bug 63396
- Elementos de teste JSR223: a descrição dos parâmetros é enganosa, o mesmo para o script
Bug 63480
- XPathAssertion e XPathAssertion2: Melhora a cobertura de teste para entrada proveniente de variável. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 63452
- Ferramentas / Importar do cURL: Cobertura completa de todas as opções de linha de comando válidas no caso de uso do JMeter. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 63419
- Ferramentas / Importar de cURL: Adicionada a capacidade de importar um conjunto de comandos cURL de um arquivo. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 63760
- JOrphanUtils: adicionar gerador de senha alfanumérica aleatória
Bug 63355
- Exibir árvore de resultados: a opção de exibição do navegador não está disponível desde o Java 11, documente como disponibilizá-la, veja isto
Bug 62861
- Thread Group: Fornece a capacidade de configurar se uma nova iteração é um novo usuário ou mesmo usuário (seria aplicado no Cookie Manager, Cache Manager e httpclient.reset_state_on_thread_group_iteration). Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 63630
- Mudar a compilação do Apache Ant para o Gradle
Bug 63529
- Adicione mais testes de unidade para org.apache.jorphan.util.JOrphanUtils. Contribuição de John Bergqvist (John.Bergqvist em diffblue.com)
Atualizado para o último estilo de verificação (versão 8.22)
Limpeza de código em CompareAssertion e outros locais. Baseado no patch de Graham Russell (graham em ham1.co.uk)
Pull request #491
- Aumente a cobertura das métricas do Graphite. Contribuição de Graham Russell (graham em ham1.co.uk)
Pull request #520
- Substitua classes anônimas por expressões lambda. Contribuição de Graham Russell (graham em ham1.co.uk).
Pull request #524
- Migração de JUnit 4 para JUnit 5. Contribuição de Graham Russell (graham em ham1.co.uk).
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Bug 63298
- Solicitações HTTP com URLs codificados estão sendo enviados em formato decodificado
Bug 63364
- Ao definir subresults.disable_renaming=true , os sub-resultados ainda são renomeados usando seu SampleLabel pai enquanto não deveriam. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 63129
- O JMeter não pode identificar a codificação durante o primeiro envio da página. Baseado em parte na análise e relações públicas feitas por Naveen Nandwani (naveen.nandwani em india.nec.com)
Bug 62672
- Solicitação HTTP envia solicitações duplas ao usar proxy com autenticação. Baseado no patch de Artem Fedorov (artem.fedorov em blazemeter.com) e contribuído por BlazeMeter.
Bug 63574
- Gerenciador de cache HTTP não armazena recursos em cache se o cabeçalho Cache-Control estiver ausente.
Outros Amostradores
Bug 63442
- Reduza a varredura para implementações de LogParser em AccessLogSamplerBeanInfo.
Bug 63563
- LdapExtSampler: Quando o sampler falha com exceção diferente de NamingException, nenhum SampleResult é gerado
Bug 63469
- JMSPublisher: Condição de corrida em jms.client.ClientPool#clearClient
Controladores
Ouvintes
Bug 63319
-
ArrayIndexOutOfBoundsException no Gráfico Agregado ao selecionar colunas de 90% ou 95%
Bug 63423
- A seleção de linhas da tabela no Gráfico Agregado se perde com muita frequência
Bug 63347
- Exibir árvore de resultados: o campo de pesquisa é tão pequeno que até mesmo um único caractere não é visível no Windows 7
Bug 63433
- ListenerNotifier: Detectado problema no Listener NullPointerException se o nome do arquivo for nulo. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 63674
- Tira resultados com sub-resultados mais profundos em sua hierarquia quando o DataStripping está habilitado
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 63455
- Asserção XPath: Verdadeiro se nada corresponder não funciona se a expressão XPath retornar um booleano. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Funções
I18N
Relatório / Painel
Documentação
Bug 63513
- Adicionar exemplos do MariaDB à documentação do JDBC. Contribuição de Ori Marko (orimarko em gmail.com)
Bug 63484
- Adicione notas para usar o Apache Velocity como linguagem de script JSR223. Baseado em um patch de Ori Marko (orimarko em gmail.com)
Bug 63519
-
Pull request #471
- Use o método correto getLabelResource() no tutorial do JMeter. Contribuição de Sun Tao (buzzerrookie em hotmail.com>)
Em geral
Bug 63394
- O JMeter deve falhar com valor diferente de zero quando a execução do teste falhar (devido à falta de plano de teste ou outro motivo). Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 63464
- image/svg+xml é erroneamente considerado binário
Bug 63490
- No final da duração do agendador, muitos Samplers são executados ao mesmo tempo
Pull request #480 ,
Pull request #482
- Corrija alguns erros de digitação em comentários e mensagens de log. Baseado no patch de Anass Benomar (anassbenomar em gmail.com)
Bug 63751
- Corrige um erro de digitação nas traduções em chinês. Relatado por Jinliang Wang (wjl31802 em 126.com)
Bug 63723
- Teste distribuído: o nó do controlador JMeter termina o teste distribuído, embora alguns encadeamentos ainda estejam ativos
Bug 63614
- Teste distribuído: não é possível gerar o relatório do painel no final do teste de carga
Bug 63862
- Diálogo de Pesquisa/Pesquisa na Árvore de Resultados da Visualização: Exceção não capturada se o regex estiver marcado e o regex for inválido
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Sergiy Iampol (sergiy.iampol em playtech.com)
Brian Tully (brian.tully em acquia.com)
Amer Ghazal (amerghazal em gmail.com)
Stefan Seide (stefan em trilobyte-se.de)
Havlicek Honza (havlicek.honza em gmail.com)
Pierre Astruc (pierre.astruc em evertest.com)
Jinliang Wang (wjl31802 em 126.com)
Desculpe se omitimos mais alguém.
Problemas conhecidos e soluções alternativas
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Você pode encontrar o seguinte erro:
java.security.cert.CertificateException: os certificados não estão em conformidade com as restrições do algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption ) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 8+.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
No Mac OSX Aggregate Graph mostrará valores errados devido ao efeito de espelhamento nos números. Isso ocorre devido a um bug Java conhecido, veja Bug JDK-8065373
A correção é usar JDK8_u45 ou posterior.
A Árvore de Resultados da Visualização pode falhar ao exibir algum código HTML no renderizador HTML, consulte
o Bug 54586 . Isso se deve a um bug conhecido do Java que falha ao analisar unidades " px " em atributos de linha/coluna. Veja Bug JDK-8031109
A correção é usar JDK9 b65 ou posterior.
A seleção de JTable com teclado ( SHIFT + up/down ) é totalmente inutilizável com Java 7 no Mac OSX. Isso ocorre devido a um bug Java conhecido JDK-8025126
A correção é usar o JDK 8 b132 ou posterior.
Desde o Java 11, a implementação de JavaScript Nashorn foi preterida . Java emitirá os seguintes avisos de descontinuação, se você estiver usando JavaScript baseado em Nashorn.
Aviso: o mecanismo Nashorn está planejado para ser removido de uma versão futura do JDK
Para silenciar esses avisos, adicione -Dnashorn.args=--no-deprecation-warning aos seus argumentos Java. Isso pode ser alcançado definindo a variável de ambiente JVM_ARGS
Esta versão é principalmente uma versão de correção de bugs. Consulte a página Histórico de alterações
para ver os últimos comportamentos importantes com a versão 5.1.
Relatórios ao vivo e relatórios da Web
Uma nova entrada de menu foi adicionada ao menu Ferramentas . Permite gerar um relatório de resultados a partir de um arquivo CSV/JTL anterior.
Alterações incompatíveis
Melhorias
Amostradores HTTP e Gravador de Script de Teste
Bug 62977
- Permitir o envio de solicitações HTTP sem um cabeçalho User-Agent padrão
Outros amostradores
Bug 63185
- Elementos relacionados ao LDAP: Adicionada opção para confiar implicitamente em conexões SSL/TLS/Desativar verificação de nome de host. Baseado na contribuição de Brian Wolfe (wolfebrian2120 em gmail.com)
Controladores
Ouvintes
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 63178
- CSS Selector Extractor: Melhora o desempenho da implementação baseada em JODD (JoddExtractor)
Funções
I18N
Relatório / Painel
Bug 59896
- Relatório / Painel: Adicione uma entrada de menu para gerar um relatório sob demanda de um arquivo CSV. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Em geral
Pull request #444
- Atualização para Spock v1.2 mais recente (era 1.0). Contribuição de Graham Russell (graham em ham1.co.uk)
Pull request #446
- Melhore a legibilidade dos testes unitários e o uso de Spock. Contribuição de Graham Russell (graham em ham1.co.uk)
Alterações não funcionais
Bug 63203
- Testes de Unidade: Substitua o uso de @Deprecated por @VisibleForTesting para métodos/construtores/classes tornados públicos apenas para teste de unidade
Solicitação pull nº 449
- Refatore e teste ResponseTimePercentilesOverTimeGraphConsumer. Contribuição de Graham Russell (graham em ham1.co.uk)
Pull request #450
- Melhorias no consumidor gráfico abstrato. Contribuição de Graham Russell (graham em ham1.co.uk)
Pull request #451
- Melhore alguns testes de unidade e classes. Contribuição de Graham Russell (graham em ham1.co.uk)
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Outros Amostradores
Bug 63202
- JMS Publisher: ObjectMessageRenderer cria instância XStream com segurança não inicializada
Controladores
Ouvintes
Bug 63204
-
RenderAsJSON#prettyJSON : JSONParser#parse não pode retornar JSONValue
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 62446
- A documentação do contador está errada nos campos obrigatórios. Contribuição de orimarko em gmail.com
Bug 62327
- TestPlan: Na tabela da biblioteca, se o caminho for modificado e o plano for salvo, a modificação será perdida no recarregamento do arquivo
Funções
Bug 63241
-
__threadGroupName causa um NullPointerException se chamado de threads não de teste
I18N
Relatório / Painel
Bug 63198
- Os gráficos de tempo de resposta vs solicitação e latência vs solicitação não se alinham com a taxa de transferência. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Documentação
Em geral
Bug 63201
- SearchTreeDialog desaparece atrás do mestre JFrame. Contribuição de Benoit Vatan (benoit.vatan em gmail.com)
Bug 63220
-
Caixa de Diálogo Auxiliar de Função , Transações de Exportação para relatório e Importação de cURL desaparecem sendo JFrame mestre. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 63207
- java.lang.NullPointerException: null ao executar o JMeter 5.1 com opções de proxy
Bug 58183
- Rampup pode não ser respeitado se o thread demorar para começar, levando a threads continuando a iniciar após o tempo de ramp up
Obrigado
Agradecemos a todos os contribuidores mencionados nas seções de bugs e melhorias acima:
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Desculpe se omitimos mais alguém.
Problemas conhecidos e soluções alternativas
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Você pode encontrar o seguinte erro:
java.security.cert.CertificateException: os certificados não estão em conformidade com as restrições do algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption ) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 8+.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
No Mac OSX Aggregate Graph mostrará valores errados devido ao efeito de espelhamento nos números. Isso ocorre devido a um bug Java conhecido, veja Bug JDK-8065373
A correção é usar JDK8_u45 ou posterior.
A Árvore de Resultados da Visualização pode falhar ao exibir algum código HTML no renderizador HTML, consulte
o Bug 54586 . Isso se deve a um bug conhecido do Java que falha ao analisar unidades " px " em atributos de linha/coluna. Veja Bug JDK-8031109
A correção é usar JDK9 b65 ou posterior.
A seleção de JTable com teclado ( SHIFT + up/down ) é totalmente inutilizável com Java 7 no Mac OSX. Isso ocorre devido a um bug Java conhecido JDK-8025126
A correção é usar o JDK 8 b132 ou posterior.
O teste JDBC foi aprimorado com a capacidade de definir instruções SQL de inicialização e adicionar compatibilidade com drivers JDBC que não suportam QueryTimeout
Várias correções de bugs foram implementadas, como reunir os cabeçalhos corretos ao gravar solicitações por meio do HTTP(S) Test Script Recorder usando HTTPS
Na versão 5.0, o JMeter foi alterado para renomear os resultados do Sub usando uma política de nomenclatura personalizada (
Bug 62550 ). Essa mudança pode ser irritante para o Functional Testing, uma nova propriedade
subresults.disable_renaming=true foi introduzida para reverter, se necessário, ao comportamento anterior. Uma alternativa é verificar o Modo de Teste Funcional no Plano de Teste, veja
o Bug 63055
Melhorias de experiência do usuário
Os modelos podem fornecer parâmetros que são preenchidos na geração do plano de teste,
o modelo de gravação usa esse recurso
Um novo menu Ferramentas foi introduzido para coletar essas entradas, que são usadas para uso geral em torno do JMeter, como:
Caixa de diálogo auxiliar de função
Exportar transações para relatório
Gerar visualização esquemática que fornece uma visão geral como HTML do plano de teste
Importar do cURL que permite criar ou atualizar seu plano de teste importando um comando cURL
Compilar elementos de teste JSR223
Criar um despejo de heap
Criar um dump de thread
Plano de teste
Capacidade de criar um plano de teste a partir de um comando cURL.
Aprimoramentos de script/depuração
Um item de menu para compilar todos os elementos JSR223 agora está disponível no menu Ferramentas
Relatórios ao vivo e relatórios da Web
Um arquivo JSON contendo o resumo de uma estatística de teste de carga agora é gerado ao usar as opções -e ou -g .
O algoritmo de computação de percentis representado graficamente ao longo do tempo foi modificado para reiniciar para cada intervalo de tempo
Comportamento mais amigável quando a pasta de relatórios não existe ou não está vazia por meio da opção de linha de comando -f
Alterações incompatíveis
No gráfico Percentis de tempo de resposta ao longo do tempo (respostas bem-sucedidas) do relatório HTML, antes desta versão, o cálculo do percentil de cada intervalo de tempo usava os dados percentuais do intervalo de tempo anterior como base. A partir desta versão, cada intervalo de tempo é independente. Veja
Bug 62883
A assinatura ClientJMeterEngine#rsetProperties foi alterada para usar HashMap<String,String> em vez de Propriedades, consulte
Bug 63034
Um novo item de menu Ferramentas foi introduzido, alguns itens de menu que estavam no menu Ajuda agora estão sob este novo item de menu. Veja
Bug 63094
slf4j-ext foi removido das bibliotecas (pasta lib) e JMeter pom. Ele não era usado por padrão e devido ao CVE-2018-8088 e indisponibilidade de uma versão estável contendo uma correção para esse problema, decidimos removê-lo. Se você ainda precisar, poderá adicioná-lo na pasta lib.
Melhorias
Amostradores HTTP e Gravador de Script de Teste
Bug 62840
- Solicitação HTTP: Adicione a opção httpclient4.gzip_relax_mode para evitar erro ao descompactar o que parece ser fluxos inválidos
Bug 63025
- Aprimore a funcionalidade Search & Replace para HTTP Request para incluir porta e campo de protocolo. Correção de código inicial por Mohamed Ibrahim (rollno748 em gmail.com)
Outros amostradores
Bug 62934
- Adicionar compatibilidade para drivers JDBC que não suportam QueryTimeout
Bug 62935
- Passar propriedades mail.* personalizadas para o Mail Reader Sampler. Implementado por Artem Fedorov (artem.fedorov em blazemeter.com) e contribuído por BlazeMeter.
Bug 63055
- Não renomeie SampleResult Label quando o teste estiver sendo executado no modo Funcional ou na propriedade subresults.disable_renaming=true . Implementado por Artem Fedorov (artem.fedorov em blazemeter.com) e contribuído por BlazeMeter.
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 62766
- Configuração do Keystore: Devemos carregar todos os aliases por padrão. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62832
- Configuração de conexão JDBC: ser capaz de definir instruções SQL de inicialização. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Funções
Bug 63037
- Ao usar CSVRead, pesquise também o caminho base do script para arquivos.
I18N
Relatório / Painel
Bug 62883
- Relatório/Painel: altera a forma como os percentis são calculados para o gráfico Percentis de tempo de resposta ao longo do tempo (respostas bem-sucedidas)
Bug 63060
- Gerador de Relatórios: Um gerador deve verificar apenas as pastas/arquivos que ele gera e apenas excluí-los
Bug 63059
- Cria um novo JsonExporter que exporta como JSON o conteúdo dos dados computados para a tabela HTML Dashboard Statistics. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 63081
- A opção de linha de comando -f não exclui a pasta de relatório ao usar a geração somente por meio da opção de linha de comando -g . Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Em geral
Bug 62959
- Capacidade de criar um plano de teste a partir de um comando cURL. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Solicitação pull #394
- Permitir valores nulos no FieldStringEditor . Baseado no patch de Mingun (alexander_sergey em mail.ru)
Bug 62826
- Ao alterar o LAF, faça o JMeter reiniciar se o usuário clicar em sim para aparecer
Bug 62257
-
Pull request #401
- Tecla curta Expand/Collapse - (sinal de menos) no teclado numérico não funciona. Contribuição de Ori Marko (orimarko em gmail.com)
Bug 62752
- Adicionar à documentação: ctx.getThreadNum() é baseado em zero enquanto ${__threadNum} é baseado em um
Pull request #411
- Use SHA-1 em vez de SHA1 em org.apache.jmeter.save.SaveService . Contribuição de Paco (paco.xu em daocloud.io)
Bug 62914
- Adicione uma dica na interface do grupo de threads sobre a duração do teste
Bug 62925
- Adicionar suporte para ThreadDump ao JMeter não-GUI
Bug 62870
- Modelos: Adicionada a capacidade de fornecer parâmetros. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62829
- Permite especificar o esquema do servidor proxy para amostrador de solicitação HTTP, guia Avançado e opção de linha de comando. Contribuição de Hitesh Patel (hitesh.h.patel em gmail.com)
Bug 59633
- Menus Salvar Plano de Teste como , Salvar como Fragmento de Teste e Salvar Seleção como ... deve usar um novo nome de arquivo na caixa de diálogo Arquivo
Bug 61486
- Faça com que o servidor jmeter e o modo não GUI sejam executados sem cabeça
Bug 63093
- Adicionar item de menu Compile JSR223 Test Elements . Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 63101
- Propor um item de menu para gerar uma visão geral legível do Plano de Teste
Bug 63144
- Exibir árvore de ouvintes demora muito para abrir resposta com texto enorme. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Alterações não funcionais
Pull request #408
- Registra uma mensagem informativa em vez de um rastreamento de pilha, quando o JavaFX não é encontrado para o componente RenderInBrowser .
Pull request #412
- Atualize a tradução chinesa. Contribuição de 刘士 (liushilive em outlook.com).
Pull request #406
- Adicione um pequeno parágrafo sobre como usar um gerenciador de segurança com JMeter.
Bug 62893
- Use StringEscapeUtils do commons-text (versão 1.6) em vez dos obsoletos do commons-lang3.
Bug 63177
- Renomeie o modo NON GUI no modo CLI na documentação
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Bug 62785
-
Solicitação pull #400
- Caminho de pesquisa incompleto aplicado aos nomes de arquivos usados na funcionalidade de upload do amostrador HTTP. Implementado por Artem Fedorov (artem.fedorov em blazemeter.com) e contribuído por BlazeMeter.
Bug 62842
- Gravador de script de teste HTTP(S): a compactação Brotli não é suportada levando a " Erro de codificação de conteúdo "
Bug 60424
- Aplicação Hessian Burlap: JMeter insere 0x0D antes de 0x0A automaticamente (dados de postagem binários http)
Bug 62940
- Use cn e tipo diferente de extensão SAN quando estamos gerando certificados baseados em endereços IP.
Bug 62916
- HTTP Test Script Recorder falha com UnsupportedOperationException se a gravação for iniciada após a execução de um teste distribuído
Bug 62987
- Um elemento TestBean no gravador de script de teste HTTP(S) não funciona. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 63015
- NoHttpResponseException anormal ao executar a solicitação por meio do proxy HTTP(S) Test Script Recorder após uma primeira solicitação com falha. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62852
- Falta de informações no cabeçalho de solicitação HTTP ao usar um proxy. Obrigado a Oleg Kalnichevski (olegk em apache.org)
Bug 63048
- JMeter não recupera recursos de link do tipo "ícone de atalho" ou "ícone". Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Outros Amostradores
Bug 62775
- Se muitos jars estiverem em uma pasta referenciada por user.classpath , a inicialização pode ser extremamente lenta devido ao JUnit
Bug 63031
- Classe de driver JDBC incorreta: org.firebirdsql.jdbc.FBDrivery . Contribuição de Sonali (arora.sonali99 em gmail.com)
Controladores
Bug 62806
- A clonagem do ModuleController por Run se comporta de maneira diferente, seja no modo GUI ou não GUI. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62847
- Se o Controlador não puder usar a variável para o índice exposto por LoopController/WhileController/ForEachController
Bug 63064
- Ignora espaços no final e no início das expressões usadas no IfController
Bug 63069
- ResultCollector não grava o final do arquivo XML se o usuário sair enquanto uma Gravação ou um teste estiver em execução. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 63138
- InfluxDB BackendListenerClient: Em caso de erro, o log está em depuração, deve estar com erro
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 62774
- XPath2Extractor: variável de escopo está quebrada. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62860
- Extrator JSON: Evite NPE e mensagem de erro barulhenta " Erro ao processar o conteúdo JSON em " quando a variável não for encontrada
Funções
I18N
Relatório / Painel
Bug 62777
- Relatório da Web/Painel: Ocultar tudo nos percentis de tempo de resposta ao longo do tempo (respostas bem-sucedidas) falha.
Bug 62780
- Relatório/painel da Web: Falha na exibição de tudo no tempo de resposta vs. solicitação .
Bug 62781
- Relatório/painel da Web: Falha na exibição de tudo na visão geral do tempo de resposta .
Bug 62894
- Relatório / Painel: A taxa de transferência está na coluna errada, o que é confuso, pois a unidade é milissegundo
Bug 63016
- Relatório HTML vazio se o csv de origem contiver rótulos com aspas. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Documentação
Altere a Ação de teste (nome antigo) para Ação de controle de fluxo na documentação de referência do componente. Contribuição de Ori Marko (orimarko em gmail.com)
Em geral
Bug 62745
- Corrige ícone desabilitado indefinido. Contribuição de Till Neunast (https://github.com/tilln)
Bug 62743
- A autenticação do cliente deve ser habilitada em testes distribuídos
Bug 62767
- NPE ao pesquisar sob certas condições. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62790
-
ArrayIndexOutOfBoundsException ao chamar replace sem selecionar a primeira correspondência
Bug 62795
- O nó do controlador JMeter às vezes termina o teste distribuído mesmo que alguns dos nós do trabalhador não tenham terminado
Bug 62336
-
Pull request #396
- Alguns atalhos não estão funcionando corretamente no Windows. Contribuição de Michael Pavlov (michael.paulau em gmail.com)
Bug 62889
- Formate JSON Arrays quando exibido com JSON Path Tester.
Bug 62900
- ObjectProperty#getStringValue() pode lançar NullPointerException
Bug 63099
- Escape de vírgula na caixa de diálogo do auxiliar de função apenas fora das estruturas de substituição de variáveis.
Bug 63105
- Exportar transações para relatório: corrigir 2 bugs
Bug 63106
- Aplicar política de nomenclatura não atualiza a interface do usuário
Bug 63180
- Aplicar política de nomenclatura permite seleção múltipla, mas considera apenas o primeiro nó
Bug 63090
- Remova slf4j-ext devido a CVE-2018-8088
Obrigado
Agradecemos a todos os contribuidores mencionados nas seções de bugs e melhorias acima:
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Desculpe se omitimos mais alguém.
Problemas conhecidos e soluções alternativas
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Você pode encontrar o seguinte erro:
java.security.cert.CertificateException: os certificados não estão em conformidade com as restrições do algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption ) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 8+.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
No Mac OSX Aggregate Graph mostrará valores errados devido ao efeito de espelhamento nos números. Isso ocorre devido a um bug Java conhecido, veja Bug JDK-8065373
A correção é usar JDK8_u45 ou posterior.
A Árvore de Resultados da Visualização pode falhar ao exibir algum código HTML no renderizador HTML, consulte
o Bug 54586 . Isso se deve a um bug conhecido do Java que falha ao analisar unidades " px " em atributos de linha/coluna. Veja Bug JDK-8031109
A correção é usar JDK9 b65 ou posterior.
A seleção de JTable com teclado ( SHIFT + up/down ) é totalmente inutilizável com Java 7 no Mac OSX. Isso ocorre devido a um bug Java conhecido JDK-8025126
A correção é usar o JDK 8 b132 ou posterior.
O suporte ao descanso foi aprimorado em muitos campos
Solicitações de dados de várias partes/formulários agora funcionam para PUT , DELETE …
Agora também é possível enviar um corpo JSON com arquivo anexado
Os parâmetros inseridos na guia Parâmetros agora são usados no corpo em vez de serem ignorados
Em testes distribuídos, o JMeter agora prefixa automaticamente nomes de threads com host e porta do mecanismo, isso torna a contagem de threads correta no relatório HTML sem qualquer outra configuração, como era necessário antes
O XPath 2.0 é suportado em um novo elemento chamado extrator XPath2 , fornecendo um manuseio mais fácil de namespaces XML, sintaxe XPath atualizada e melhores desempenhos
A atualização para as últimas APIs do HTTP Components 4.6 foi concluída e o JMeter não depende mais das APIs obsoletas desta biblioteca
Agora é possível controlar de forma mais fácil a quebra de loop e a mudança de loop para a próxima iteração. Isso está disponível nos elementos
de Manipulador de Ação de Controle de Fluxo e Ação de Status de Resultado
Enquanto o Controller agora exporta uma variável contendo seu índice atual chamado __jm__<Name of your element>__idx . Então, por exemplo, se o seu controlador While for chamado WC, você poderá acessar o índice de loop por meio de ${__jm__WC__idx}
Aprimoramentos de script/depuração
O recurso de pesquisa foi aprimorado para permitir que você itere na árvore sobre os resultados da pesquisa e faça as substituições necessárias por meio dos botões
Próximo / Anterior / Substituir / Substituir/Localizar
Em Exibir árvore de resultados, os cabeçalhos/corpo da solicitação e da resposta são claramente separados para permitir que você inspecione melhor as solicitações e respostas. Você também pode pesquisar em todas essas guias por um valor específico
O recurso de gravação foi aprimorado para fornecer um pop-up que está sempre no topo quando você navega no navegador, permitindo nomear transações enquanto navega em seu aplicativo.
Agora você pode reiniciar o JMeter no menu Arquivo → Reiniciar
Relatórios ao vivo e relatórios da Web
O recurso de relatórios foi aprimorado
Um novo Graph Total Transactions por segundo foi adicionado ao HTML Web Report
Agora é possível representar graficamente métricas customizadas ao longo do tempo disponíveis como JMeter Variables por meio de sample_variables . Esses gráficos de métricas personalizadas estarão disponíveis na seção Relatório HTML em Gráficos personalizados
O gráfico de hits por segundo agora leva em consideração os recursos incorporados
Em relatórios ao vivo, os bytes enviados e recebidos agora são enviados para back-ends (InfluxDB ou Graphite)
Funções
Uma nova função __threadGroupName foi introduzida para obter o nome do ThreadGroup.
Alterações incompatíveis
Desde o JMeter 5.0, ao usar a Implementação HC4 padrão, o JMeter irá redefinir o estado HTTP (Estado SSL + Conexões) em cada iteração do grupo de threads. Se você não quiser esse comportamento, defina httpclient.reset_state_on_thread_group_iteration=false
Desde o JMeter 5.0, em relação à observação acima, https.use.cached.ssl.context está obsoleto e não é mais usado.
Desde o JMeter 5.0, ao usar a saída CSV, os sub-resultados agora também serão enviados para o arquivo CSV. Para reverter para o comportamento anterior, configure jmeter.save.saveservice.subresults=false , consulte
Bug 62470 ,
Bug 60917 ,
Bug 62550 .
Desde o JMeter 5.0, o CSS/JQuery Extractor foi renomeado para CSS Selector Extractor
Desde o JMeter 5.0, Test Action foi renomeado para Flow Control Action
Desde o JMeter 5.0, o JMeter renomeia subResults para parentName-N onde N é um número para garantir que o gráfico Hits Per Second inclua downloads de recursos, veja
Bug 62550 ,
Bug 62470 e
Bug 60917
Melhorias
Amostradores HTTP e Gravador de Script de Teste
Bug 62260
- Melhora o suporte de descanso. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 58757
- Solicitação HTTP: Métodos obsoletos atualizados de HttpComponents para as últimas APIs de httpclient-4.5.X. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62212
- Gravador: Melhore o UX fornecendo um pop-up acima de todas as janelas para poder alterar os nomes e pausas das transações enquanto estiver usando o navegador. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62248
- Solicitação HTTP: Os parâmetros inseridos na guia Parâmetros devem ser usados no corpo ao invés de serem ignorados. Parcialmente baseado em um patch de Artem Fedorov contribuído por Blazemeter.
Bug 60015
- Multipart/form-data funciona apenas para POST usando HTTPClient4 enquanto deveria para PUT , DELETE , … Contribuído por Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62317
- HTTP(S) Test Script Recorder: permite adicionar ResultSaver ao sampler criado
Outros amostradores
Solicitação pull #376
- JUnitSampler registra exceções, exceto falhas de asserção de casos de teste como avisos. Contribuição de Davide Angelocola (davide.angelocola em fisglobal.com)
Bug 62244
- Renomear Ação de Teste para Ação de Controle de Fluxo
Bug 62302
- Mova o JSR223 Sampler para cima no menu. Contribuição de Ori Marko (orimarko em gmail.com)
Bug 62595
- SMTPSampler não permite configurar os protocolos SSL/TLS a serem usados no handshake. Contribuição de Felipe Cuozzo (felipe.cuozzo em gmail.com)
Controladores
Bug 62237
- While Controller: Variável de exportação contendo o índice atual da iteração. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Ouvintes
Bug 62195
- Salvar respostas em um arquivo: Melhorar o componente e a interface do usuário. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62209
- InfluxBackendListenerClient: Primeira mensagem de falha de asserção deve ser enviada se o código de erro e o código de resposta estiverem vazios ou OK
Bug 62269
- Bug 62269 - Exibir Árvore de Resultados: As guias de resposta e solicitação devem conter as guias de cabeçalho e corpo. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62270
- Exibir árvore de resultados: permite pesquisar em cabeçalhos de solicitação, cabeçalhos de resposta e corpo de solicitação. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62276
- InfluxDBBackendListenerClient / GraphiteBackendListenerClient: adiciona bytes enviados e recebidos às métricas. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 62320
- Contador: a propriedade de nome de referência não está clara
Bug 60991
- Extrator XPath: Implemente XPath 2.0. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62593
- Renomeie CSS/JQuery Extractor para CSS Selector Extractor. Contribuição de Ori Marko (orimarko em gmail.com)
Funções
Bug 62178
- Adiciona valor padrão à função __V . Contribuição de Ori Marko (orimarko em gmail.com)
Bug 62178
- Adicionar função __threadGroupName para obter o nome do ThreadGroup. Contribuição principalmente de Ori Marko (orimarko em gmail.com)
Bug 62541
- Permitir que as funções __jexl3 , __jexl2 suportem a nova sintaxe como var x; . Contribuição de Ori Marko (orimarko em gmail.com)
Bug 61834
- Caixa de Diálogo Auxiliar de Função: Melhore os testes mostrando variáveis e mantendo-as disponíveis entre as avaliações
I18N
Relatório / Painel
Bug 62243
- Dashboard: opção make " --forceDeleteResultFile "/" -f " delete a pasta referenciada pela opção " -o "
Bug 62367
- Gerador de Relatório HTML: Adicionar Gráfico Total de Transações por Segundo. Contribuição principalmente de Martha Laks (laks.martha em gmail.com)
Bug 62166
- Relatório/Painel: Fornece a capacidade de registrar gráficos e métricas personalizados no Painel JMeter. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62542
- Relatório/Painel: Exibe mais informações sobre filtros quando o gráfico está vazio. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62426
- Otimize o desempenho da geração de relatórios. Com base no feedback de Allen (444104595 em qq.com)
Bug 62550
- Modificar a política de nomenclatura de subresultados
Bug 60917
- Teste de carga com download de recursos incorporados : Acertos por segundo não leva em consideração os recursos baixados
Em geral
Bug 62684
- Teste Distribuído: Adicione automaticamente ao nome da thread um prefixo para identificar o mecanismo. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62155
- Recurso de pesquisa: Tornar o campo de texto de pesquisa em foco
Bug 62156
- Recurso de pesquisa: Distinguir entre o nó que corresponde à pesquisa e o nó que contém um filho que corresponde à pesquisa
Bug 62234
- Recurso Pesquisar/Substituir: Aprimore o UX e adicione recursos Substituir/Próximo/Anterior/Substituir e Localizar. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62238
- Adicionada a capacidade de alternar para a próxima iteração do Loop Atual. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62239
- Adicionada a capacidade de quebrar o loop atual
Bug 61635
- Adicione um menu para reiniciar o JMeter
Bug 62470
- Saída CSV: Habilite o registro de sub-resultados quando jmeter.save.saveservice.subresults=true . Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62473
- A configuração " saveservice_properties " tem um comportamento contra-intuitivo
Bug 62354
- Cálculo correto e uso de unidades por segundo por usuário (relatado por jffagot05 em gmail.com)
Bug 62700
- Introduzir jsr223.init.file para permitir chamar um script JSR-223 na inicialização do JMeter
Bug 62128
- Tente adivinhar JMETER_HOME corretamente, quando jmeter.bat é chamado de um arquivo de lote em outro diretório. Contribuição de logox01 (logox01 em gmx.at)
Solicitação pull nº 386
- Adicione suporte de parâmetro para scripts de criação de keystore RMI. Contribuição de Logan Mauzaize (t524467 em airfrance.fr)
Bug 62065
- Use o artefato Maven para o módulo JAF em vez do módulo incorporado
Bug 61714
- Atualizar documentação de resultados em tempo real
Pull request #382
- Corrija o erro de digitação na documentação. Relatado por Perze Ababa (perze.ababa em gmail.com>)
Pull request #392
- Corrija o erro de digitação na documentação. Relatado por Aaron Levin
Pull request #379
- Melhore as traduções chinesas. Contribuição de XmeterNet
Bug 62095
- Corrija a descrição do parâmetro de limite direito no Extrator de Limite. Contribuição de Ori Marko (orimarko em gmail.com)
Bug 62113
- Atualizado para o último Bouncycastle (v1.60). Baseado na contribuição de Olaf Flebbe (oflebbe em apache.org)
Bug 62171
- Remova as somas de verificação .md5 e mantenha apenas as somas de verificação .sha512 para arquivos de origem e binários
Atualizado para groovy-all-2.4.15 (de groovy-all-2.4.13)
Atualizado para asm-6.1 (de 6.0)
Atualizado para tika-core e tika-parsers 1.18 (de 1.17)
Bug 62482
- Documentação de sincronização com a implementação do ForEachController. Baseado na contribuição de Ori Marko (orimarko em gmail.com)
Bug 62529
- Atualizado para httpclient-4.5.6 (de httpclient 4.5.5) e atualizado para freemarker-2.3.28 (de freemarker-2.3.23). Baseado no patch de Ori Marko (orimarko em gmail.com)
Atualizado para httpmime-4.5.6 (de httpmime-4.5.5)
Atualizado para cafeína-2.6.2 (de cafeína-2.6.1)
Atualizado para cglib-nodep-3.2.7 (de cglib-nodep-3.2.6)
Atualizado para commons-dbcp2-2.4.0 (de commons-dbcp2-2.2.0)
Atualizado para commons-pool2-2.6.0 (de commons-pool2-2.5.0)
Atualizado para httpcore-4.4.10 (de httpcore-4.4.9)
Atualizado para httpcore-nio-4.4.10 (de httpcore-nio-4.4.9)
Atualizado para log4j-2.11.0 (de log4j-2.10.0)
Atualizado para ph-css-6.1.1 (de ph-css-6.0.0)
Atualizado para ph-commons-9.1.2 (de ph-commons-9.0.0)
Atualizado para rhino-1.7.10 (de +rhino-1.7.7.2)
Atualizado para commons-lang3-3.8 (de commons-lang3-3.7)
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Bug 62114
- Gravador de script de teste HTTP(S): A autenticação do certificado do cliente usa o primeiro SSLManager criado. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 61058
- Solicitação HTTP: Adicione a opção httpclient4.deflate_relax_mode para evitar "Fim inesperado do fluxo de entrada ZLIB" ao esvaziar o que parece ser fluxos inválidos. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 43612
- HTTP PUT não respeita os parâmetros de solicitação. Implementado por Artem Fedorov (artem.fedorov em blazemeter.com) e contribuído por BlazeMeter Ltd.
Bug 60190
- Content-Type é adicionado para POST incondicionalmente. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62464
- Definir hora de início e término no amostrador do publicador JMS, mesmo se a inicialização falhar.
Bug 62616
- FTPSampler: o tamanho do arquivo de upload não é contado em sentBytes
Controladores
Bug 62265
- ModuleController se comporta de forma estranha
Ouvintes
Bug 62097
- Atualizar JTable no Relatório Agregado somente quando novos dados chegarem. Dessa forma, as seleções de linhas serão mantidas por mais tempo.
Bug 62203
- Cliente Influxdb BackendListener: armazena tags de usuário para anotação e transação interna. Contribuição de Sergey Batalin (sergey_batalin em mail.ru)
Bug 62251
- TextGraphiteMetricsSender não invalida conexões perdidas em caso de erros de rede
Bug 60705
- Corrige cabeçalhos de Relatórios Agregados e amigos quando as colunas são movidas.
Bug 62463
- Configuração de cliente/servidor distribuído: use diferentes portas RMI para os objetos remotos ao usar SSL
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 61664
- Gerenciador de autorização HTTP: o Digest funciona apenas com o RFC 2069 herdado , o RFC 2617 não é implementado. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62252
- A lógica de mesclagem do cabeçalho HTTP não corresponde à documentação
Bug 62554
- BoundaryExtractor: Campo a ser verificado não é redefinido
Bug 62553
- Elemento aleatório pode retornar o mesmo valor mesmo se a propriedade "Por usuário de thread (Usuário)" estiver definida como TRUE
Bug 62637
- Leve o agendador em consideração ao calcular o atraso para o temporizador de sincronização
Funções
I18N
Bug 62310
- Tradução francesa do rótulo do Temporizador de taxa de transferência preciso
Relatório / Painel
Bug 62333
- Report Dashboard - Quando uma série não contém nenhum valor, a lógica das cores do gráfico está errada. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62283
- Report Dashboard - A data não é exibida corretamente no gráfico quando a granularidade é ≤ 1 dia
Bug 62520
- O texto da dica de ferramenta quando passamos o mouse sobre o ponto no gráfico 'Latency vs Request' deve ser 'Median Latency'
Documentação
Bug 62211
- Corrige a documentação do servidor de solicitação HTTP. Contribuição de Ori Marko (orimarko em gmail.com)
Pull request #388
- Corrija um erro de digitação. Contribuição de Giancarlo Romeo (giancarloromeo em gmail.com)
Em geral
Bug 62107
- JMeter falha ao iniciar no Windows quando JM_LAUNCH contém espaços
Bug 62110
- Uma classe JUnit quebrada (devido à falta de dependência) quebra os menus do JMeter. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Pull request #377
- Pequena correção dos documentos. Contribuição de Peter Doornbosch (peter.doornbosch em luminis.eu)
Bug 62124
- Modelos de gravação: adicione mais exclusões e use o nome da transação por padrão
Bug 62127
- Armazene o nome do arquivo como String em vez de File no FileEditor. Isso impedirá a conversão de nomes de arquivos de separadores de caminho de estilo Unix para estilo Windows quando usado, por exemplo, na configuração do conjunto de dados CSV.
Bug 56150
- Mantenha o índice à direita, ao rolar pelos itens do menu.
Bug 62240
- Se a implementação do SampleMonitor for um TestBean se não for inicializado corretamente
Bug 62295
- Ordem correta dos elementos ao duplicar uma seleção de vários elementos.
Bug 62397
- Não quebre linhas em vírgulas ao usar o JSON Path Tester
Bug 62281
- Impedir NPE em MapProperty. Patch por belugabehr (dam6923 em gmail.com)
Bug 62457
- No manual do usuário, o exemplo da função UUID está errado. Contribuição de helppass (onegaicimasu em hotmail.com)
Bug 62478
- Escape de vírgula em parâmetros ao construir strings de função no auxiliar de função GUI. Relatado por blue414 (blue414 em 163.com)
Bug 62463
- Corrigido o uso de portas, quando client.rmi.localport é definido para execuções distribuídas.
Bug 62545
- Não use dois pontos como parte da string "tab" ao recuar JSON em RenderAsJSON.
Parte do
Bug 62637
- Evite estouro de Integer ao lidar com valores muito grandes em TimerService#adjustDelay
Bug 62683
- A caixa de diálogo de erro não tem texto quando o usuário abre um plano de teste completamente inválido.
Obrigado
Agradecemos a todos os contribuidores mencionados nas seções de bugs e melhorias acima:
Graham Russell (graham em ham1.co.uk)
Ori Marko (orimarko em gmail.com)
Davide Angelocola (davide.angelocola em fisglobal.com)
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Você pode encontrar o seguinte erro:
java.security.cert.CertificateException: os certificados não estão em conformidade com as restrições do algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption ) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 8+.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
No Mac OSX Aggregate Graph mostrará valores errados devido ao efeito de espelhamento nos números. Isso ocorre devido a um bug Java conhecido, veja Bug JDK-8065373
A correção é usar JDK8_u45 ou posterior.
A Árvore de Resultados da Visualização pode falhar ao exibir algum código HTML no renderizador HTML, consulte
o Bug 54586 . Isso se deve a um bug conhecido do Java que falha ao analisar unidades " px " em atributos de linha/coluna. Veja Bug JDK-8031109
A correção é usar JDK9 b65 ou posterior.
A seleção de JTable com teclado ( SHIFT + up/down ) é totalmente inutilizável com Java 7 no Mac OSX. Isso ocorre devido a um bug Java conhecido JDK-8025126
A correção é usar o JDK 8 b132 ou posterior.
Novo elemento Boundary Extractor disponível que proporciona uma extração fácil com melhores desempenhos
Novo elemento JSON Assertion disponível para declaração em respostas JSON.
Novo elemento Precise Throughput Timer disponível que produz chegadas de Poisson com taxa de transferência constante.
O amostrador JMS Point-to-Point foi aprimorado com opções de leitura , navegação e limpeza .
Os melhores valores de propriedade agora são selecionados em muitos elementos de teste para garantir que as práticas recomendadas sejam os padrões:
Se o Controlador recém-adicionado agora usa por padrão a Expressão, que é a opção com melhor desempenho.
O Elemento de Teste JSR223 recém-adicionado agora armazena em cache o script compilado por padrão se o idioma usado fornecer esse recurso.
O controlador de loop e
o controlador ForEach
agora expõem sua iteração atual como uma variável chamada __jm__<Nome do seu elemento>__idx que você pode usar assim, por exemplo, para um controlador de loop chamado MyLoopController :
Agora você pode chamar SampleResult#setIgnore() se não quiser que seu sampler fique visível nos resultados
JavaSamplerContext usado por AbstractJavaSamplerClient foi aprimorado com novos métodos para facilitar o desenvolvimento de plugins.
O JMeter agora distribui fontes Maven adicionais e artefatos javadoc no repositório Maven
Plugins agora podem registrar ouvintes para serem notificados quando um Plano de Teste for aberto/fechado
Relatórios ao vivo e relatórios da Web
O ouvinte de back-end do InfluxDB agora permite adicionar tags personalizadas adicionando-as com o prefixo TAG_ , consulte
Bug 61794
No Web Report, o gráfico de distribuição responseTime é mais preciso
Algumas correções de bugs foram feitas na geração de relatórios, veja
Bug 61900 ,
Bug 61900 61956,
Bug 61899 . Gráficos Latência vs Solicitação e Tempo de Resposta vs Solicitação não excedeu 1000 RPS devido ao
Bug 61962
Configuração do ambiente JMeter
As configurações da JVM para os scripts de início do JMeter podem ser colocadas em um arquivo separado ( bin/setenv.sh no Unix e bin\setenv.bat no Windows), que é chamado na inicialização. O script de inicialização em si não precisa mais ser editado.
Alterações incompatíveis
A hora de início e a data de término do Thread Group foram removidas, veja
o Bug 61549
Em testes distribuídos, o modo Hold foi removido. Use modos alternativos e mais eficientes
Para plugins de terceiros, o método a seguir em org.apache.jmeter.gui.tree.JMeterTreeNode foi descartado para migração para Java 9 (
Bug 61529 )
public Enumeration<JMeterTreeNode> children()
tearDown Thread Group agora será executado na parada e desligamento de um teste por padrão. Se você não quiser esse comportamento, desmarque Executar grupos de threads de desmontagem após o desligamento dos threads principais no elemento Plano de Teste , consulte
Bug 61656
As propriedades sampleresult.getbytes.headers_size e sampleresult.getbytes.body_real_size foram eliminadas, veja o
Bug 61587
O JMeter agora salvará seu plano de teste sempre que você o executar. Este comportamento pode ser controlado pela propriedade save_automatically_before_run , veja
Bug 61731
O elemento Workbench foi descartado, agora você adiciona diretamente Elemento Não Teste como filho do Plano de Teste. Ao carregar um Plano de Teste que contém o elemento JMeter, os elementos Mirror Server , Property Display e HTTP(s) Test Script Recorder serão movidos como filhos diretos do Plano de Teste. Para qualquer outro elemento, ele criará um elemento Test Fragment chamado Workbench Test Fragment e moverá os elementos nele .
As seguintes classes foram descartadas ( org.apache.jmeter.functions.util.ArgumentEncoder , org.apache.jmeter.functions.util.ArgumentDecoder ), consulte
Pull request #335
No amostrador JMS Point-to-Point, definir o tempo limite para 0 agora significa tempo limite infinito, enquanto anteriormente seria alternado para 2.000 ms, consulte
Bug 61829
Quando Assertions estão em escopos diferentes, elas são executadas começando da mais OUTER até a mais INNER. Veja
Bug 61846
O JMeter agora inicia por padrão usando a localidade em inglês. Essa alteração ocorre devido à falta de traduções em muitos idiomas suportados. Você pode alterar a localidade modificando em jmeter e jmeter.bat (ou preferencialmente setenv.sh/setenv.bat) os valores da propriedade do sistema JVM_ARGS . Também ficaríamos muito gratos se você pudesse contribuir com traduções nos idiomas suportados.
SwitchController agora corta por padrão o conteúdo do switch para evitar problemas relacionados a espaços indesejados. Veja
Bug 61771
As configurações de heap da JVM do JMeter foram alteradas de -Xms512m -Xmx512m para -Xms1g -Xmx1g
A versão do Beanshell foi atualizada para bsh-2.0b6, que introduz mudanças importantes e regras de análise mais rígidas
Melhorias
Amostradores HTTP e Gravador de Script de Teste
Solicitação pull #316
- Avisa sobre carregamento de armazenamento confiável vazio. Contribuição de Vincent Herilier (https://github.com/vherilier)
Bug 61639
- Gravador de script de teste HTTP(S): Na guia de filtragem de solicitações, desmarque por padrão "Notificar ouvintes filhos de amostradores filtrados"
Bug 61672
- Gravador de script de teste HTTP(S): tem a capacidade de escolher o nome do amostrador, mantendo a capacidade de apenas adicionar um prefixo
Bug 53957
- Solicitação HTTP: na guia Parâmetros, permite colar conteúdo vindo do Firefox e Chrome (não analisado)
Bug 61587
- Elimine as propriedades sampleresult.getbytes.headers_size e sampleresult.getbytes.body_real_size
Bug 61843
- Gravador de script de teste HTTP(S): Adicionar SAN ao certificado de CA gerado por JMeter. Contribuição de Matthew Buckett
Bug 61901
- Suporte para propriedade de sistema https.cipherSuites . Contribuição de Jeremy Arnold (jeremy em arnoldzoo.org)
Outros amostradores
Bug 61544
- JMS Point-to-Point Sampler: Melhore os estilos de comunicação com leitura, navegação, limpeza. Baseado em uma contribuição de Benny van Wijngaarden (benny em smaragd-it.nl)
Bug 61829
- JMS Ponto a Ponto: Se a Fila de Recebimento estiver vazia e um tempo limite for definido, ele não será levado em consideração. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 61762
- Start Next Thread Loop deve ser usado em todos os lugares
Controladores
Bug 61675
- If Controller: Use a expressão por padrão e adicione um aviso quando o outro modo for usado. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 61770
- Module Controller: Informa ao usuário na UI que ele precisa ter pelo menos um Controller em seu plano. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 61771
- SwitchController: Campo de comutação deve ser aparado por segurança
Ouvintes
Bug 57760
- Exibir árvore de resultados: o cabeçalho do cookie é mostrado incorretamente como vazio (sem cookies) ao visualizar um resultado de amostra do gravador. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 61769
- Exibir Árvore de Resultados: Use o marcador de sintaxe no XPath Tester, JSON Path Tester e CSS/JQuery Tester. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 61776
- Exibir Árvore de Resultados: Expansão de Adicionar expandir/recolher todo o menu na exibição XML de renderização. Contribuição de Maxime Chassagneux e Graham Russell
Bug 61852
- Exibir árvore de resultados: adicionar um testador de extração de limite
Bug 61794
- Influxdb back-end: Adicione quantas tags personalizadas desejar, basta criar novas linhas e prefixar o nome deles com " TAG_ " no ouvinte de back-end da GUI
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 60213
- Novo componente: Extrator baseado em limites
Bug 61845
- Novo Componente JSON Assertion baseado no AtlanBH JSON Path Assertion doado para JMeter-Plugins e migrado para o núcleo JMeter por Artem Fedorov (artem em blazemeter.com)
Bug 61931
- Novo Componente: Temporizador de taxa de transferência preciso, temporizador que produz chegadas de Poisson com taxa de transferência constante. Contribuição de Vladimir Sitnikov (sitnikov.vladimir em gmail.com)
Bug 61644
- Gerenciador de cache HTTP: "Usar o cabeçalho Cache-Control/Expires ao processar solicitações GET" deve ser verificado por padrão
Bug 61645
- Asserção de resposta: adicione a capacidade de afirmar em dados de solicitação
Bug 51140
- Asserção de Resposta: adiciona a capacidade de definir uma mensagem de erro/falha específica que é mostrada posteriormente no Resultado da Asserção. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 61534
- Converter AssertionError em uma asserção com falha, permitindo que os usuários usem assert em seu código. Corrigindo uma regressão introduzida em 3.2
Bug 61756
- Extratores: Melhore o nome do rótulo "Nome de referência" para deixar claro o que ele faz
Bug 61758
-
Aplicar a: campo em Extractors, Assertions: Ao inserir um valor em JMeter Variable Name , a caixa de rádio JMeter Variable Name deve ser selecionada por padrão. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 61846
- Asserção de escopo deve seguir a mesma ordem de avaliação dos pós-processadores
Funções
Bug 61724
- Adicionada função __digest para fornecer computação de Hashes (SHA-XXX, MDX). Baseado em uma contribuição de orimarko em gmail.com
Bug 61735
- Adicione a função __dateTimeConvert para fornecer conversões de formatos de data. Baseado em uma contribuição de orimarko em gmail.com
Bug 61760
- Adiciona as funções __isPropDefined e __isVarDefined para saber se existe propriedade ou variável. Contribuição de orimarko em gmail.com
Bug 61759
- Adicionar função __changeCase para alterar diferentes casos de uma string. Baseado em uma contribuição de orimarko em gmail.com
Bug 61561
- A caixa de diálogo do auxiliar de função deve exibir exceção no resultado
Bug 61738
- Caixa de Diálogo Auxiliar de Função: Adicionar Cópia em Gerar e esclarecer rótulos. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 62027
- Ajuda: Introduza a propriedade help.local para permitir a escolha entre documentação local (offline) e documentação online
Bug 61593
- Remover detalhes, adicionar, adicionar da área de transferência, excluir botões na GUI do Function Helper
I18N
Bug 61606
- Botão Traduzir Procurar… em alguns elementos (que usam a classe FileEditor)
Bug 61747
- Gravador de script de teste HTTP(S): adicione o documento ausente a "Criar transação após solicitação (ms)"
Relatório / Painel
Bug 61871
- Reduza o valor padrão de jmeter.reportgenerator.graph.responseTimeDistribution.property.set_granularity de 500ms para 100ms
Bug 61879
- Remova arquivos inúteis no modelo de relatório HTML
Em geral
Bug 61591
- Soltar Workbench da árvore de teste. Implementado por Artem Fedorov (artem em blazemeter.com) e contribuído por BlazeMeter Ltd.
Bug 61549
- Grupo de Tópicos: Remova a data de início e término
Bug 61529
- Migração para Java 9. Contribuição parcial do Ubik Load Pack (suporte em ubikloadpack.com)
Bug 61709
- SampleResult: Adicione um método setIgnore() para fazer o JMeter ignorar o SampleResult e não enviá-lo aos ouvintes
Bug 61806
- Permitir usar SampleResult#setIgnore() em pós-processadores e script de asserções (elementos JSR223)
Bug 61607
- Adicionar botão de navegação em todos os elementos do BeanShell para selecionar o script do BeanShell
Bug 61627
- Não limpe mais o LogView ao clicar no Indicador de Aviso/Erros
Bug 61629
- Adicionar Think Times ao menu Children não deve considerar elementos desabilitados
Bug 61655
- SampleSender: Descarte a implementação de HoldSampleSender
Bug 61656
-
tearDown Thread Group deve ser executado por padrão na parada ou desligamento do teste
Bug 61659
-
JMeterVariables#get() deve aplicar toString() em objetos não string
Bug
61555 - Metaspace deve ser restrito como padrão
Pull request #351
- Corrigido sobre a posição do diálogo na primeira visualização. Contribuição de Graham Russell (graham em ham1.co.uk)
Pull request #352
- Barra de menu - mnemônicos adicionados a mais itens de menu. Contribuição de Graham Russell (graham em ham1.co.uk)
Pull request #353
- Reescreveu alguns testes existentes no Spock. Contribuição de Graham Russell (graham em ham1.co.uk)
Bug 61919
- UX: Reordenar Menus. Contribuição de Graham Russell (graham em ham1.co.uk)
Bug 61920
- Plugins: Adicionada a capacidade de ouvir o carregamento/fechamento do Plano de Teste. Contribuição de Peter Doornbosch (https://bitbucket.org/pjtr/)
Bug 61935
- Plugins: Deixe o componente GUI (dinamicamente) decidir se pode ser adicionado através do menu ou não. Contribuição de Peter Doornbosch (https://bitbucket.org/pjtr/)
Bug 61969
- Ao alterar o LAF através da GUI, o usuário deve ser informado que é melhor reiniciar
Bug 61970
- O JMeter agora usa o inglês como localidade padrão para evitar traduções ausentes em algumas localidades, fazendo com que a interface do usuário pareça estranha
Bug 56368
- Criar e implantar artefatos de origem no Maven central
Bug 61973
- Criar e implantar artefatos javadoc no Maven central
Pull request #371
- Exemplo de correção na documentação para XPath Assertion . Contribuição de Konstantin Kalinin (kkalinin em hotmail.com)
Bug 62039
- Teste distribuído: Fornece capacidade de usar SSL
Alterações não funcionais
Atualizado para bsh-2.0b6 (de bsh-2.0b5)
Atualizado para groovy-all-2.4.13 (de groovy-all-2.4.12)
Atualizado para rhino-1.7.7.2 (de rhino-1.7.7.1)
Atualizado para tika-core e tika-parsers 1.17 (de 1.16)
Bug 61651
- Melhora a cobertura de teste do SO. Contribuição parcial de Aleksei Balan (abalanonline em gmail.com)
Pull request #319
- Removido o código comentado. Contribuição de Graham Russell (graham em ham1.co.uk)
Solicitação pull #322
- Limpeza geral de JavaDoc. Contribuição de Graham Russell (graham em ham1.co.uk)
Pull request #323
- Método extraído e fluxos usados para melhorar a legibilidade. Contribuição de Graham Russell (graham em ham1.co.uk)
Pull request #324
- Salvar refatoração de backup. Contribuição de Graham Russell (graham em ham1.co.uk)
Pull request #327
- Utilizando Java mais moderno, simplificando código e formatando código e comentários. Contribuição de Graham Russell (graham em ham1.co.uk)
Pull request #332
- Adicione a estrutura Spock para testes de unidade groovy. Contribuição de Graham Russell (graham em ham1.co.uk)
Pull request #334
- Habilite a execução de testes JUnit de dentro do IntelliJ com a configuração padrão. Contribuição de Graham Russell (graham em ham1.co.uk)
Pull request #335 - Functions.util.*
removidos , pois não parecem ser usados (por muitos anos). Contribuição de Graham Russell (graham em ham1.co.uk)
Bug 61867
-
Solicitação pull #345
- Atualizado para o último estilo de verificação (v8.5), Adição de muitas outras regras para o estilo de verificação, Inclusão de verificação de arquivos de teste e mais tipos de arquivo. Contribuição de Graham Russell (graham em ham1.co.uk)
Pull request #350
- Testes unitários paralelizados. Contribuição de Graham Russell (graham em ham1.co.uk)
Bug 61966
- Setup Test Results Analyzer em jenkins
Pull request #343
- Reduza o tamanho de algumas imagens na documentação. Contribuição de Graham Russell (graham em ham1.co.uk)
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Bug 61569
- Plano de Teste JMS Point-to-Point: Problema de sincronização ao colocar resposta. Contribuição de Igor Panainte (panainte.i em gmail.com)
Outros Amostradores
Bug 61698
- Ação de teste: Parada selecionada, amostradores após a ação de teste podem ser executados
Bug 61707
- Ação de teste: o destino é ignorado quando a pausa é selecionada, portanto, deve ser desabilitada
Bug 61827
- JMSPublisher: Não adicione nova linha no final do arquivo. Contribuição de Graham Russell (graham em ham1.co.uk)
Controladores
Bug 61556
- Esclareça na documentação os impactos no desempenho do uso de ${} var no IfController e no groovy. Contribuição de Justin McCartney (be_strew em yahoo.co.uk)
Bug 61713
- Test Fragment tem a opção de Change Controller e Insert Parent. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 61965
- Módulo e controlador de inclusão não devem permitir adicionar elementos sem sentido em seu contexto.
Bug 62062
- ThroughputController: StackOverFlowError acionado quando throughput=0 (Total Executions ou Percentage Executions) Parcialmente implementado por Artem Fedorov (artem.fedorov em blazemeter.com) e contribuído por BlazeMeter Ltd.
Ouvintes
Bug 61742
- BackendListener: corrija o valor padrão para backend_graphite.send_interval
Bug 61878
- BackendListener: NPE se BackendListenerClient#getDefaultParameters retornar nulo
Bug 61950
- Exibir árvore de resultados: o áudio/mpegurl do tipo de conteúdo é erroneamente considerado binário
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 61716
- Gerenciador de cabeçalhos: Ao colar cabeçalhos do Firefox ou Chrome, os espaços são introduzidos como o primeiro caractere de valor
Bug 61619
- Na caixa de diálogo Function Helper, a 1ª função não exibe os parâmetros padrão
Bug 61628
- Se a string dividida tiver um separador vazio, o separador padrão não é usado
Bug 61752
-
__RandomDate : A função não permite a falta do último parâmetro usado para o nome da variável
I18N
Relatório / Painel
Bug 61807
- Relatório da Web: corrigir erro em getTop5ErrorMetrics . Contribuição de Graham Russell (graham em ham1.co.uk)
Bug 61900
- Gerador de Relatórios: A geração de relatórios falha se o separador for um caractere reservado regex como |
Bug 61925
- CsvSampleReader não incrementa a linha em nextSample(). Contribuição de Graham Russell (graham em ham1.co.uk)
Bug 61956
- Geração de Relatório: -f da opção -forceDeleteResultFile não funciona. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 61899
- Geração de Relatórios: Quando jmeter.save.saveservice.print_field_names é false e sample_variables são definidas, a geração de relatórios falha. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 61962
- Os gráficos de latência vs solicitação e tempo de resposta vs solicitação não excedem 1000 RPS. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Em geral
Bug 61661
- Evite problemas de inicialização/desligamento devido a plugins de escuta de thread de terceiros lançando RuntimeException
Bug 61625
- Editor de arquivo usado no BeanInfo se comporta de forma estranha em todos os LAFs com impacto no CSVDataSet, JSR223, BSF, Beanshell Element
Bug 61844
- Maven pom.xml: Bibliotecas usadas em testes devem ter teste de escopo
Bug 61842
- Salvar sem alterações faz com que um arquivo de backup idêntico seja salvo e duplicado
Obrigado
Agradecemos a todos os contribuidores mencionados nas seções de bugs e melhorias acima:
Vladimir Sitnikov (sitnikov.vladimir em gmail.com)
Konstantin Kalinin (kkalinin em hotmail.com)
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Para esta versão, queremos agradecer especialmente aos seguintes repórteres pelos relatórios claros e testes feitos após nossas correções:
user7294900 no Stackoverflow (orimarko em gmail.com)
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Você pode encontrar o seguinte erro:
java.security.cert.CertificateException: os certificados não estão em conformidade com as restrições do algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption ) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 8+.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
No Mac OSX Aggregate Graph mostrará valores errados devido ao efeito de espelhamento nos números. Isso ocorre devido a um bug Java conhecido, veja Bug JDK-8065373
A correção é usar JDK8_u45 ou posterior.
A Árvore de Resultados da Visualização pode falhar ao exibir algum código HTML no renderizador HTML, consulte
o Bug 54586 . Isso se deve a um bug conhecido do Java que falha ao analisar unidades " px " em atributos de linha/coluna. Veja Bug JDK-8031109
A correção é usar JDK9 b65 ou posterior.
A seleção de JTable com teclado ( SHIFT + up/down ) é totalmente inutilizável com Java 7 no Mac OSX. Isso ocorre devido a um bug Java conhecido JDK-8025126
A correção é usar o JDK 8 b132 ou posterior.
O JMeter ainda não suporta JAVA 9, a próxima versão do JMeter irá suportá-lo, você pode ajudar e acompanhar o progresso deste item no
Bug 61529 .
O uso da última versão secundária do JAVA 8 é recomendado para evitar enfrentar qualquer bug do JDK.
Melhorias principais
O HTTP Sampler agora oferece suporte à descompactação Brotli.
O CacheManager agora suporta completamente o cabeçalho Vary.
O InfluxDB BackendListener agora suporta o envio de resultados para o InfluxDB por meio do protocolo UDP.
Também foi aprimorado para enviar o número de erros por código de resposta e mensagem para cada transação
O TCP Sampler agora calcula a latência, veja
o Bug 60156
Dependências atualizadas para as últimas versões disponíveis, trazendo melhorias de desempenho e correções de bugs
Continuamos a melhorar a qualidade do nosso código e cobertura de testes. Ver relatório de qualidade
Melhorias de experiência do usuário
Mais trabalho foi feito para oferecer melhor suporte ao HiDPI.
Alguns bugs, que surgiram com o trabalho de diminuir o uso de memória da Árvore de Resultados da Visualização, foram corrigidos.
A constante DEFAULT_IMPLEMENTATION foi removida do CookieManager, pois perdeu o propósito com a remoção da implementação alternativa do cliente HTTP na última versão
O JDBC Sampler UX foi aprimorado adicionando caixas de seleção para drivers e consultas de validação.
Se Controller e While Controller UX foram melhorados
Melhorias no relatório/painel
Um novo item de menu Ajuda foi adicionado para simplificar a configuração da geração de relatórios.
Melhorias na documentação
Feedback incorporado sobre documentação pouco clara.
Funções
Caixa de Diálogo Auxiliar de Função: foi adicionado um novo campo que mostra o resultado da execução.
Novas funções:
__timeShift - retorna uma data em vários formatos com a quantidade especificada de segundos/minutos/horas/dias adicionados.
__RandomDate - gera uma data aleatória dentro de um intervalo de datas específico.
Alterações incompatíveis
Em InfluxDbBackendListenerClient, a propriedade statut foi renomeada para status
No CookieManager, as constantes DEFAULT_POLICY e DEFAULT_IMPLEMENTATION agora são privadas.
Se você estiver usando ignorecookies com HC3CookieHandler (< JMeter 3.1) a configuração será redefinida, certifique-se de colocá-lo de volta.
O JMeter não truncará mais por respostas padrão que excedam 10 MB. Se você deseja habilitar esse truncamento, consulte a propriedade httpsampler.max_bytes_to_store_per_request
org.apache.jmeter.protocol.tcp.sampler.TCPClient.read(InputStream) foi preterido em favor ou org.apache.jmeter.protocol.tcp.sampler.TCPClient.read(InputStream, SampleResult), certifique-se de atualizar sua implementação para poder calcular a latência, veja
Bug 60156
Elementos ou funções removidos
A função _StringFromFile foi descartada, use __StringFromFile em vez disso
Bug 61135
- CookieManager: Solte a caixa de seleção de implementação e a classe de limpeza
Bug 61492
- HTTP(S) Test Script Recorder : Adicione a possibilidade de alterar o valor de proxy.pause na GUI
Outros amostradores
Bug 61320
- Ação de teste: Defina a duração como 0 por padrão
Bug 61504
- Configuração de conexão JDBC: Defina o número máximo de conexões como 0 por padrão
Bug 61505
- Configuração de conexão JDBC: Defina "Consulta de validação" para vazio por padrão para usar o método isValid do driver JDBC
Bug 61506
- Configuração de conexão JDBC: Adicione uma lista para consultas de validação de bancos de dados principais para o atributo "Consulta de validação"
Bug 61507
- Configuração de conexão JDBC: Adicione uma lista para bancos de dados principais Nome da classe do driver JDBC para o atributo "classe do driver JDBC"
Bug 61525
- Amostrador de processo do SO: Adicionar botão do navegador aos campos de diretório de comando e trabalho
Bug 60156
- TCPSampler: A latência não é medida para o TCP Sampler. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 61039
- Configuração do conjunto de dados CSV: Adicionar botão do navegador ao campo Nome do arquivo
Bug 61527
- Configuração do conjunto de dados CSV : Adicione uma lista para valores de codificação de arquivo principal para o atributo de codificação de arquivo
Controladores
Bug 61131
- IfController e WhileController: melhorar UX
Ouvintes
Bug
61167 - InfluxdbBackendListener: adiciona número de erros por código de resposta e mensagem para cada transação
Bug 61068
- Introduzir a propriedade resultcollector.action_if_file_exists para controlar o popup "Arquivo já existe" ao iniciar um teste
Bug 61457
- InfluxDB backend listener client : Suporta envio de resultado para InfluxDB através do protocolo UDP. Parcialmente baseado no
Pull request #302
- por Junlong Wu (id do github mybreeze77)
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 61040
- Adicione uma função de deslocamento de tempo
Bug 61126
- Caixa de Diálogo Auxiliar de Função: Adicione um campo que mostra o resultado da execução
Bug 61508
- Adicionar uma data aleatória dentro de uma função de intervalo de data específica
I18N
Bug 61509
- Melhor rótulo/tradução/documentação para rótulos iniciais e máximo para o elemento Contador
Relatório / Painel
Bug 61481
- Item do Menu Ajuda para exportar transação para relatório da Web
Em geral
Ao procurar classes em ActionRouter , retorne ao local do jar, de onde ActionRouter é carregado. Fornecido por Emilian Bold (emi em apache.org)
Bug 61510
- Defina 'Max Number of Connections' como 0 em 'JDBC Connection Configuration' para o 'JDBC Load Test template'
Bug 61399
- Torna alguns scripts de bin e extras compatíveis com Shellcheck. Contribuição de Wolfgang Wagner (internetwolf2000 em hotmail.com)
Alterações não funcionais
Atualizado para groovy 2.4.12 (de 2.4.10)
Atualizado para cafeína 2.5.5 (de 2.4.0)
Atualizado para commons-jexl3 3.1 (de 3.0)
Atualizado para ph-css 5.0.4 (de 5.0.3)
Atualizado para ph-commons 8.6.6 (de 8.6.0)
Atualizado para log4j2 2.8.2 (de 2.8.1)
Atualizado para xmlgraphics-commons 2.2 (de 2.1)
Atualizado para jodd 3.8.6 (de 3.8.1)
Atualizado para xstream 1.4.10 (de 1.4.9)
Atualizado para Apache Tika 1.16 (de 1.14)
Atualizado para jsoup-1.10.3 (de 1.10.2)
Atualizado para commons-lang3 3.6 (de 3.5)
Atualizado para json-path 2.4.0 (de 2.2.0)
Atualizado para httpcore 4.4.7 (de 4.4.6)
Bug 61438
- Altera a assinatura criptográfica dos pacotes de sha-1 para sha-512
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Bug 61384
- Não defina o charset no cabeçalho multipart/form-data . Isso irrita alguns servidores.
O charset foi adicionado algum tempo atrás durante a refatoração para usar uma API mais recente do cliente http. Veja
Bug 56141
- para mais informações.
Bug 61456
-
java.lang.ArrayIndexOutOfBoundsException ao gravar com JMeter e cabeçalho de autorização de autenticação básica estranho
Bug 61395
- Grande truncamento de resposta do servidor pode afetar a gravação
Outros Amostradores
Bug 60889
- A amostra JMeter JDBC chama SELECT USER() ao testar com MySQL JDBC devido à chamada Connection#toString para cabeçalhos de resposta.
Bug 61259
- Solicitação JDBC : desde o JMeter 3.0, quando o auto-commit JDBC é false , uma instrução de reversão ocorre toda vez que uma solicitação é executada. Contribuição parcial de Liu XP (liu_xp2003 em sina.com)
Bug 61319
- Correção de regressão: SMTP Sampler não podia enviar e-mails, quando nenhum anexo foi especificado.
Controladores
Bug 61375
- Use o resolvedor de DNS do sistema como último recurso, ao resolver entradas na tabela de host estática.
Ouvintes
Bug 61005
- Exibir árvore de resultados - os dados de resposta do navegador não estão sendo apagados
Bug 61121
- InfluxdbBackendListenerClient: Apenas todos os percentis são enviados, não KO e OK
Bug 60961
- Tente manter o status dos elementos selecionados e expandidos na Árvore de Resultados da Visualização quando novos elementos são adicionados.
Bug 61198
- Backend Listener não funciona corretamente no script principal quando os scripts incluídos também contêm Backend Listener
Bug 61493
- Os threads Max/Min são trocados no ouvinte de back-end Graphite e InfluxDB
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 58743
-
Pull request #293
- TableEditor não pode ser salvo, ao usar duas ou mais instâncias. Correção de bug fornecida por Emilian Bold (emi em apache.org)
Bug 61314
- O modificador de reescrita de URL HTTP não substitui o jsessionid existente no amostrador http, mas o adiciona ao final
Bug 61336
- Asserção do BeanShell: erro na tradução chinesa
Funções
Bug 61258
- A função StringFromFile é mencionada duas vezes na caixa de diálogo do auxiliar de função
Bug 61260
-
função __XPath retorna nulo apesar do verificador XPath encontrar correspondências
Bug 58876
- A função TestPlanName retorna null para um Plano de Teste recém-salvo e usa um anteriormente aberto para um novo
I18N
Relatório / Painel
Bug 61129
- Relatório/Painel: Se o código de resposta estiver vazio, mas uma mensagem de falha estiver presente, Erros e 5 principais erros não são precisos. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 61151
- Relatório/Painel: 5 principais erros por amostrador e erros: se a declaração contiver código html, a parte html estará oculta
Em geral
Bug 60743
- Parar/Desligar o teste pode criar um impasse devido ao HTTPCORE-446, corrigido pela atualização do HttpCore para 4.4.7
Bug 61011
- A contagem de ocorrências de substituição não está correta (a substituição de caminho e host é contada duas vezes)
Bug 61026
- Não é possível executar o programa "keytool": CreateProcess error=2 ao iniciar o JMeter 3.2 no modo GUI
Bug 61054
- Loop infinito em JOrphanUtils#replaceAllWithRegex quando regex está contido em substituição
Bug 60995
- Gravador de script de teste HTTP: O campo da porta é muito pequeno em alguns L&F
Bug 61073
- O painel HTTP(S) Test Script Recorder tem alguns campos com tamanho incorreto na tela HiDPI ou GTK+ L&F no Linux/XWayland
Bug 57958
- Correção de amostra de transação não gerada se o encadeamento parar/reiniciar. Implementado por Artem Fedorov (artem em blazemeter.com) e contribuído por BlazeMeter Ltd.
Bug 61050
- Manipule RessourceBundle não inicializado com mais facilidade, ao chamar JMeterUtils#getResString .
Bug 61100
- Nome de arquivo de log do GC inválido no Windows
Bug 57962
- Permitir usar variáveis (apenas de variáveis definidas pelo usuário) em todos os ouvintes no modo de nó do trabalhador
Bug 61270
- Fontes de largura fixas muito pequenas em áreas de texto para ler em HiDPI (bug manual do usuário)
Bug 61292
- Torna o processamento de amostras no repórter mais robusto.
Bug 61359
- Ao cortar um elemento da Árvore, o plano de teste não é marcado como sujo
Bug 61380
- O desligamento do JMeter usando temporizadores libera um rebanho estrondoso de amostradores interrompidos
Bug 57055
- CheckDirty.doAction deve limpar os anterioresGuiItems para SUB_TREE_SAVED
Obrigado
Agradecemos a todos os contribuidores mencionados nas seções de bugs e melhorias acima:
Anass Benomar (abenomar em umanis.com, Mithrandir0407 em github)
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Para esta versão, queremos agradecer especialmente aos seguintes repórteres pelos relatórios claros e testes feitos após nossas correções:
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Você pode encontrar o seguinte erro:
java.security.cert.CertificateException: os certificados não estão em conformidade com as restrições do algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption ) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 8+.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
No Mac OSX Aggregate Graph mostrará valores errados devido ao efeito de espelhamento nos números. Isso ocorre devido a um bug Java conhecido, veja Bug JDK-8065373
A correção é usar JDK8_u45 ou posterior.
A Árvore de Resultados da Visualização pode falhar ao exibir algum código HTML no renderizador HTML, consulte
o Bug 54586 . Isso se deve a um bug conhecido do Java que falha ao analisar unidades " px " em atributos de linha/coluna. Veja Bug JDK-8031109
A correção é usar JDK9 b65 ou posterior.
A seleção de JTable com teclado ( SHIFT + up/down ) é totalmente inutilizável com Java 7 no Mac OSX. Isso ocorre devido a um bug Java conhecido JDK-8025126
A correção é usar o JDK 8 b132 ou posterior.
O JMeter agora requer Java 8. Certifique-se de usar a versão mais atualizada.
O registro do JMeter foi migrado para SLF4J
e Log4j 2. Isso afeta a configuração e os plugins de terceiros, veja abaixo "Registrando alterações" .
A partir do JMeter versão 3.2, o número de resultados na Árvore de Resultados da Visualização é limitado por padrão a 500 entradas. Se você quiser mais entradas, você deve definir a propriedade view.results.tree.max_results para um valor mais alto, ou para 0 , se você não quiser impor nenhum limite. Você pode definir a propriedade em bin/user.properties. Mais informações podem ser encontradas aqui .
Melhorias principais
O JMeter agora fornece uma nova implementação de BackendListener que faz interface com o InfluxDB.
Essa implementação envia dados usando chamadas HTTP assíncronas para o InfluxDB por meio de sua API HTTP
e fornece os seguintes gráficos com anotações:
O DNS Cache Manager agora tem uma tabela para permitir a resolução estática do host.
O Publicador e Assinante JMS agora permitem a reconexão em caso de erro com pausa.
As variáveis no JMS Publisher agora são suportadas para todos os tipos de mensagens. Adicione o tipo de codificação do arquivo para analisar seu conteúdo
O XPath Extractor agora permite a extração aleatória, por índice ou para todas as correspondências.
A Asserção de Resposta agora permite trabalhar no cabeçalho da solicitação, fornece uma combinação "OR" e possui um renderizador de célula melhor
O JMeter agora usa o mecanismo Javascript Oracle Nashorn em vez do Rhino. Isso fornece uma execução mais rápida de Javascript.
A implementação HTTP HC4 agora fornece autenticação básica preemptiva habilitada por padrão
O download de recursos incorporados em CSS foi aprimorado para evitar análises repetitivas inúteis para encontrar os recursos
Um trabalho importante sobre qualidade de código e cobertura de código com testes foi feito desde que o Sonar foi configurado no projeto. Você pode ver o relatório do Sonar aqui .
Melhorias de experiência do usuário
Ao executar um teste, a GUI agora é mais responsiva e menos impactante no uso da memória, graças a uma limitação no número de ouvintes de resultados de amostra e a um retrabalho na maneira como a GUI é atualizada
A GUI de solicitação HTTP foi simplificada e fornece mais espaço para parâmetros e corpo.
O Gravador de Script de Teste HTTP(S) foi simplificado e esclarecido.
Um recurso de substituição foi adicionado ao recurso de pesquisa para permitir a substituição em alguns elementos.
ReplaceAll não faz substituição em todos os elementos, faz em:
- HeaderManager: Substituição em valores
- Http Request: Substituição em Argumentos, Caminho e Host
Exibir Árvore de Resultados agora fornece um renderizador de navegador mais atualizado que requer JavaFX.
Agora você pode adicionar através de um menu contextual tempos de reflexão, isso adicionará tempos de pensamento entre amostradores e controladores de transação do nó selecionado.
Agora você pode aplicar uma política de nomenclatura a filhos de um Controlador de Transação. Existe uma política padrão, mas você pode implementar a sua própria por meio de org.apache.jmeter.gui.action.TreeNodeNamingPolicy
e configurando a propriedade naming_policy.impl
A classificação por coluna foi adicionada aos elementos Exibir resultados na tabela, relatório resumido, relatório agregado e gráfico agregado.
Melhorias no relatório/painel
As estatísticas foram reorganizadas para esclarecer o relatório:
Agora é possível personalizar os limites do APDEX por transação com base na expressão regular ou no nome da amostra. O exemplo abaixo aplicará limites diferentes para amostras sample(\\d+), amostraA e cenárioB do que os padrões (500 e 1500 para limites satisfeitos e tolerados) declarados:
As documentações em PDF foram migradas e atualizadas para o manual do usuário HTML
Alterações incompatíveis
O JMeter agora requer pelo menos uma versão do Java 8 para ser executado.
O log do JMeter foi migrado para SLF4J e Log4j 2, isso envolve mudanças na forma como a configuração é feita. O JMeter agora depende da
configuração padrão do Log4j 2 no arquivo log4j2.xml
Consulte a seção Logging changes abaixo para obter mais detalhes.
Os seguintes jars foram removidos após a migração do LogKit para SLF4J (veja
Bug 60589 ):
ApacheJMeter_slf4j_logkit.jar
avalon-framework-4.1.4.jar
commons-logging-1.2.jar
excalibur-logger-1.1.jar
logkit-2.0.jar
O commons-httpclient-3.1.jar foi removido após a queda do suporte HC3.1 (veja
o Bug 60727 )
O JMeter agora define através de -Djava.security.egd=file:/dev/urandom o algoritmo para segurança aleatória
O Process Sampler agora retorna o código de erro 500 quando ocorre um erro. Anteriormente, ele retornava um valor vazio.
Em org.apache.jmeter.protocol.http.sampler.HTTPHCAbstractImpl dois campos estáticos protegidos ( localhost e nonProxyHostSuffixSize ) foram renomeados para ( LOCALHOST e NON_PROXY_HOST_SUFFIX_SIZE ) para seguir a convenção de nomenclatura de campos estáticos
O JMeter agora usa por padrão o mecanismo Oracle Nashorn em vez do Mozilla Rhino para obter melhores desempenhos. Isso não deve ter impacto, a menos que você use alguns recursos avançados. Você pode reverter para o Rhino pela propriedade de configurações javascript.use_rhino=true . Você pode ler este guia de migração para obter mais detalhes sobre o Nashorn. Veja
Bug 60672
Bug 60729
- O elemento de configuração de variável aleatória agora permite mínimo==máximo. Versões anteriores registraram um erro quando mínimo==máximo e não definiram a variável configurada.
Bug 60730
- O JSON PostProcessor agora define a variável _ALL (assumindo que a var de concatenação de computação foi verificada) mesmo que o caminho JSON corresponda apenas uma vez. As versões anteriores não definiram a variável _ALL neste caso.
Bug 60423
- Ouvinte de resultados do monitor de queda
Elimine a classe obsoleta org.apache.jmeter.protocol.system.NativeCommand
Elimine a classe obsoleta org.apache.jmeter.protocol.http.config.gui.MultipartUrlConfigGui
Elimine a classe obsoleta org.apache.jmeter.testelement.TestListener
Elimine a classe obsoleta org.apache.jmeter.reporters.FileReporter
Elimine a classe obsoleta org.apache.jmeter.protocol.http.modifier.UserSequence
Elimine a classe obsoleta org.apache.jmeter.protocol.http.parser.HTMLParseError
Elimine os métodos não utilizados org.apache.jmeter.protocol.http.control.HeaderManager#getSOAPHeader
e org.apache.jmeter.protocol.http.control.HeaderManager#setSOAPHeader(Object)
org.apache.jmeter.protocol.http.util.Base64Encode foi descontinuado, você pode usar java.util.Base64 como um substituto
Alterações de registro
O log do JMeter foi migrado para SLF4J
e Log4j 2. Isso afeta a configuração do log e plugins de terceiros (se eles usarem o log do JMeter). As seções a seguir descrevem quais mudanças precisam ser feitas.
Configurando o nível de log e o arquivo de log
O nível de log padrão pode ser alterado na linha de comando usando o parâmetro -L . Da mesma forma, o parâmetro -l pode ser usado para alterar o nome do arquivo de log. No entanto, as propriedades log_level não funcionam mais.
Os níveis de log padrão e o nome do arquivo são definidos no arquivo de configuração log4j2.xml no diretório de ativação (geralmente JMETER_HOME/bin )
Se você precisar alterar o nível programaticamente do código Groovy ou do Beanshell, faça o seguinte:
importar org.apache.logging.log4j.core.config.Configurator;
⋮
final String loggerName = te.getClass().getName(); //te sendo uma classe JMeter
Configurator.setAllLevels(loggerName, Level.DEBUG);
Alterações no registro de plug-ins de terceiros
Plugins de terceiros devem migrar seu código de log do logkit para o slf4j. Isso é bastante fácil e pode ser feito substituindo:
importar org.apache.jorphan.logging.LoggingManager;
importar org.apache.log.Logger;
⋮
log do registrador final estático privado = LoggingManager.getLoggerForClass();
Por:
importar org.slf4j.Logger;
importar org.slf4j.LoggerFactory;
⋮
log do logger final estático privado = LoggerFactory.getLogger(YourClassName.class);
Melhorias
Amostradores HTTP e Gravador de Script de Teste
Bug 59934
- Corrige condições de corrida no CssParser. Baseado em um patch de Jerome Loisel (loisel.jerome em gmail.com)
Bug 60543
- Solicitação HTTP/Padrões de solicitação HTTP UX: Mover para o painel avançado Tempos limite, implementação, proxy. Implementado por Philippe Mouawad (p.mouawad em ubik-ingenierie.com) e contribuído por Ubik Load Pack (suporte em ubikloadpack.com)
Bug 60548
- Solicitação HTTP: permitir que o painel superior seja recolhido
Bug 57242
- Autorização HTTP não é definida preventivamente com HttpClient4
Bug 60727
- Descarte commons-httpclient-3.1 e elementos relacionados. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 60790
- HTTP(S) Test Script Recorder : Melhore as informações sobre a expiração do certificado e tenha melhor UX para Iniciar/Parar
Bug 60888
- HttpRequest: Adicionar opção para permitir nova tentativa de todas as solicitações, incluindo métodos HTTP NÃO Idempotentes
Bug 60896
- Gravador de script de teste HTTP(S): Melhore o UX reduzindo o número de propriedades na tela
Outros amostradores
Bug 60740
- Variável de suporte para todas as mensagens JMS (bytes, objeto, …) e fontes (arquivo, pasta), com base no
Pull request #241
- . Contribuição de Maxime Chassagneux (maxime.chassagneux em gmail.com).
Bug 60585
- Publicador JMS e Assinante JMS: permitir reconexão em caso de erro e pausar entre erros. Baseado no
Pull request #240
- de Logan Mauzaize (logan.mauzaize em gmail.com) e Maxime Chassagneux (maxime.chassagneux em gmail.com).
Pull request #259
- - SmtpSampler refatorado e reformatado. Contribuição de Graham Russell (graham em ham1.co.uk)
Controladores
Bug 60672
- Função JavaScript / IfController: use o mecanismo Nashorn por padrão
Ouvintes
Bug 60144
- Exibir Árvore de Resultados: Adicione um Renderizador de Navegador mais atualizado para substituir o Renderizador antigo
Bug 60542
- Exibir Árvore de Resultados: Permitir que o Painel Superior seja recolhido. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 52962
- Permitir classificação por colunas para Exibir Resultados em Tabela, Relatório Resumido, Relatório Agregado e Gráfico Agregado. Baseado em um
Pull request #245
- por Logan Mauzaize (logan.mauzaize em gmail.com) e Maxime Chassagneux (maxime.chassagneux em gmail.com).
Bug 60590
- BackendListener: Adicione a implementação Influxdb BackendListenerClient ao JMeter. Parcialmente baseado no
Pull request #246
- por Logan Mauzaize (logan.mauzaize em gmail.com) e Maxime Chassagneux (maxime.chassagneux em gmail.com).
Bug 60591
- BackendListener : Adicione uma amostragem em caixa de tempo. Baseado em um
Pull request #237
- por Logan Mauzaize (logan.mauzaize em gmail.com) e Maxime Chassagneux (maxime.chassagneux em gmail.com).
Bug 60678
- Exibir árvore de resultados: renderizador de texto, a pesquisa não deve aparecer "Texto não encontrado"
Bug 60691
- Exibir árvore de resultados: nos renderizadores (XPath, JSON Path Tester, RegExp Tester e CSS/JQuery Tester) o painel inferior às vezes não é visível, pois o painel superior é muito grande e não pode ser redimensionado
Bug 60687
- Torna a GUI mais responsiva quando recebe muitos eventos.
Bug 60791
- Exibir árvore de resultados: acionar a pesquisa na tecla Enter no recurso de pesquisa e exibir o fundo vermelho se não houver correspondência
Bug 60822
- ResultCollector não garante entradas de nome de arquivo exclusivas em arquivos HashMap
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 60154
- GUI de parâmetros do usuário: permite que as linhas sejam movidas para cima e para baixo na lista. Contribuição de Murdecai777 (https://github.com/Murdecai777).
Bug 60507
- Adicionada a função ' Or ' no ResponseAssertion. Com base em uma contribuição de 忻隆 (298015902 em qq.com)
Bug 58943
- Crie uma experiência de tempo de reflexão melhor. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 60602
- XPath Extractor: Adicione o número de correspondência para permitir a extração aleatória, por índice ou todas as correspondências
Bug 60710
- Extrator XPath : Quando o conteúdo no qual a asserção se aplica não é XML, em Exibir Árvore de Resultados o extrator é marcado em Vermelho e nomeado SAXParseException. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 60712
- Asserção de resposta: melhore o renderizador de padrões
Bug 59174
- Adicione uma tabela com hosts estáticos ao DNS Cache Manager. Isso permite melhores testes de hosts virtuais com HttpClient4.
Melhorar a tradução " save_as " em francês. Baseado em uma
solicitação Pull #252 de Maxime Chassagneux (maxime.chassagneux em gmail.com).
Bug 60785
- Melhoria da tradução japonesa. Patch por Kimono (kimono.outfit.am em gmail.com).
Relatório / Painel
Bug 60637
- Melhorar o design da tabela de estatísticas
Bug 60112
- Relatório/Painel: Adicionada a capacidade de personalizar os limites APDEX por nome de transação. Contribuição de Stephane Leplus (s.leplus em ubik-ingenierie.com)
Em geral
Bug 58164
- Verifique se o arquivo já existe no ouvinte ResultCollector antes de iniciar o loadtest
Bug 54525
- Recurso de pesquisa: melhore-o com a capacidade de substituir
Bug 60530
- Adicionar API para criar threads JMeter enquanto o teste está em execução. Baseado em uma contribuição de Logan Mauzaize (logan.mauzaize em gmail.com) e Maxime Chassagneux (maxime.chassagneux em gmail.com).
Bug 60514
- Capacidade de aplicar uma convenção de nomenclatura em Filhos de um Controlador de Transação. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 60711
- Melhorar o comportamento do botão Excluir para asserções / Gerenciador de cabeçalho / GUIs de parâmetros do usuário / Excluir, incluir no gravador de script de teste HTTP(S)
Bug 60595
- Adicione um SplashScreen no início da GUI do JMeter. Contribuição de Maxime Chassagneux (maxime.chassagneux em gmail.com).
Bug 55258
- Solte o ícone "Fechar" da barra de ferramentas e adicione "Novo" ao menu. Parcialmente baseado na contribuição de Sanduni Kanishka (https://github.com/SanduniKanishka)
Bug 59995
- Permitir que o usuário altere o tamanho da fonte com dois novos itens de menu e use jmeter.hidpi.scale.factor para dimensionar as fontes. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 60654
- Recurso de validação: ser capaz de ignorar BackendListener. Contribuição de Maxime Chassagneux (maxime.chassagneux em gmail.com).
Bug 60684
- Thread Group: Validação encerrada prematuramente pelo Scheduler com duração 0 ou muito curta. Contribuição de Andrew Burton (andrewburtonatwh em gmail.com).
Bug 60565
- Migrar LogKit para SLF4J - Otimizar instruções de log. por exemplo, argumentos de formato de mensagem, argumentos jogáveis, log desnecessário se-habilitado em simples, etc. Contribuição de Woonsan Ko (woonsan em apache.org)
Bug 60564
- Migrar LogKit para SLF4J - Substitua os registradores LogKit por SLF4J e mantenha a solução de ligação LogKit atual para compatibilidade com plugins. Contribuição de Woonsan Ko (woonsan em apache.org)
Bug 60664
- Adicione um menu de interface do usuário para definir o nível de log. Contribuição de Woonsan Ko (woonsan em apache.org)
Pull request #276
- - Adicionadas algumas traduções para a localidade polonesa. Contribuição de Bartosz Siewniak (barteksiewniak em gmail.com)
Bug 60792
- Crie um novo item de menu Ajuda para criar um despejo de thread
Bug 60813
- Elemento de teste JSR223: Leve em consideração JMeterStopTestNowException, JMeterStopTestException e JMeterStopThreadException
Bug 60814
- Menu: Adicionar item de menu Abrir Recente para tornar o carregamento de arquivos recentes mais óbvio
Bug 60886
- Melhorias de compilação para melhor habilitar compilações em ambientes que estão atrás de um proxy. Contribuição parcial de Michael Osipov (michaelo em apache.org)
Pull request #255
- - Recursos Java 8 (e 7) utilizados para organizar o código. Contribuição de Graham Russell (graham em ham1.co.uk)
Bug
59435 - JMeterTestCase não suporta mais JUnit3
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Bug 60531
- HTTP Cookie Manager: alterar a Implementação não atualiza a Política de Cookies
Bug 60575
- Solicitações HTTP GET podem ter um cabeçalho de tipo de conteúdo sem um corpo.
Bug 60682
- Solicitação HTTP: o método Get pode falhar no redirecionamento devido ao cabeçalho Content-Length estar definido
Bug 60643
- O Gravador de Script de Teste HTTP(S) não manipula corretamente a reinicialização ou o início após a parada. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 60652
- Solicitações HTTP PUT podem vazar descritores de arquivo.
Bug 60689
-
httpclient4.validate_after_inactivity não tem impacto levando ao uso de conexões potencialmente obsoletas/fechadas
Bug 60690
- Valores padrão para "httpclient4.validate_after_inactivity" e "httpclient4.time_to_live" que são iguais entre si tornam a validação inútil
Bug 60758
- Gravador de script de teste HTTP(s): A solicitação de número pode gerar números duplicados. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 56939
- Parâmetros não são passados com OPTIONS HTTP Request
Bug 60778
- Http Java Impl não mostra o cabeçalho Authorization em SampleResult mesmo se for enviado
Bug 60837
- GET com corpo, PUT não são repetidos mesmo se httpclient4.retrycount for maior que 0
Bug 60842
- Corte URLs extraídos ao carregar recursos incorporados usando o HTML Parser baseado em Lagarto.
Bug 60928
- Solicitação de HTTP: vazamento de conexão quando keepalive é usado com recursos incorporados
Outros Amostradores
Bug 603982
- Manipulador de exceção de proteção do JDBCSampler contra mensagens nulas
Bug 55652
- JavaSampler redefine silenciosamente o nome da classe se a classe não puder ser encontrada
Controladores
Ouvintes
Bug 60648
- GraphiteBackendListener pode perder algumas métricas no final do teste se o teste for muito curto
Bug 60650
- AbstractBackendListenerClient não redefine UserMetric entre execuções
Bug 60759
- Exibir Árvore de Resultados: O recurso de pesquisa não pesquisa em URL. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 60859
- Salvar respostas em um arquivo: 2 elementos com configuração diferente se sobrepõem
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 60438
-
Pull request #235
- - Limpe as variáveis antigas antes de extrair as novas no JSON Extractor. Baseado em um patch de Qi Chen (qi.chensh em ele.me)
Bug 60607
- A configuração do DNS Cache Manager é ignorada
Bug 60729
- O elemento de configuração de variável aleatória deve permitir mínimo==máximo
Bug 60730
- O JSON PostProcessor deve definir a variável _ALL mesmo que o caminho JSON corresponda apenas uma vez.
Bug 60747
- Asserção de resposta: adicionar cabeçalhos de solicitação ao campo a ser testado
Bug 60763
- XMLAssertion não deve vazar erros para o console
Bug 60797
- TestAction no modo de pausa pode durar além da duração configurada do teste
Funções
Bug 60819
- A função __fileToString não honra o contrato de documentação quando o arquivo não é encontrado
I18N
Relatório / Painel
Bug 60726
- Report / Dashboard : Os 5 principais erros dos samplers não devem levar em conta a filtragem da série
Bug 60919
- Relatório / Painel: Latência Vs Solicitação e Tempo de Resposta Vs Solicitação estão errados se a granularidade for diferente de 1000 (1 segundo)
Em geral
Bug 60775
- NamePanel ctor chama o método substituível
Bug 60428
- JMeter Graphite Backend Listener lança exceção quando o teste termina e useRegexpForSamplersList é definido como true . Baseado no patch de Liu XP (liu_xp2003 em sina.com)
Bug 60442
- Corrige um erro de digitação no build.xml (gavin em 16degrees.com.au)
Bug 60449
- Árvore JMeter: comportamento irritante quando o nome do nó está vazio
Bug 60494
- Adicionar tarefa de análise de sonar para construir
Bug 60501
- Recurso de pesquisa: problema de desempenho quando regexp é verificado
Bug 60444
- Falha intermitente de TestHTTPMirrorThread#testSleep() . Contribuição de Thomas Schapitz (ts-nospam12 em online.de)
Bug 60621
- A pasta " report-template " está faltando no ApacheJMeter_config-3.1.jar no maven central
Bug 60744
- Os elementos da GUI não são limpos quando reutilizados durante o carregamento do Plano de Teste, o que pode levá-los a serem parcialmente inicializados com um estado anterior para um novo Elemento de Teste
Bug
60812 - JMeterThread não honra o contrato de JMeterStopTestNowException
Bug 60857
- SaveService omite o cabeçalho XML se _file_encoding não estiver definido em saveservice.properties
Bug 60830
- Timestamps no arquivo CSV podem ser corrompidos devido ao compartilhamento de um SimpleDateFormatter entre threads
Obrigado
Agradecemos a todos os contribuidores mencionados nas seções de bugs e melhorias acima:
Jerome Loisel (loisel.jerome em gmail.com)
Liu XP (liu_xp2003 em sina.com)
Qi Chen (qi.chensh em ele.me)
(gavin em 16degrees.com.au)
Thomas Schapitz (ts-nospam12 em online.de)
Murdecai777 (https://github.com/Murdecai777)
Logan Mauzaize (logan.mauzaize em gmail.com)
Maxime Chassagneux (maxime.chassagneux em gmail.com)
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Para esta versão, queremos agradecer especialmente aos seguintes repórteres pelos relatórios claros e testes feitos após nossas correções:
Tuukka Mustonen (tuukka.mustonen em gmail.com) que nos deu muitos comentários úteis que ajudaram a resolver
o Bug 60689 e
o Bug 60690
Amar Darisa (amar.darisa em gmail.com) que nos ajudou com seu feedback sobre o
Bug 60682
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Você pode encontrar o seguinte erro:
java.security.cert.CertificateException: os certificados não estão em conformidade com as restrições do algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 8+.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
No Mac OSX Aggregate Graph mostrará valores errados devido ao efeito de espelhamento nos números. Isso ocorre devido a um bug Java conhecido, veja Bug JDK-8065373
A correção é usar JDK8_u45 ou posterior.
A Árvore de Resultados da Visualização pode falhar ao exibir algum código HTML no renderizador HTML, consulte
o Bug 54586 . Isso se deve a um bug conhecido do Java que falha ao analisar unidades " px " em atributos de linha/coluna. Veja Bug JDK-8031109
A correção é usar JDK9 b65 ou posterior (mas esteja ciente de que Java 9 ainda não está certificado para JMeter).
A seleção de JTable com teclado ( SHIFT + up/down ) é totalmente inutilizável com JAVA 7 no Mac OSX. Isso ocorre devido a um bug Java conhecido JDK-8025126
A correção é usar o JDK 8 b132 ou posterior.
O Dashboard foi melhorado com 3 novos gráficos e 1 tabela de resumo:
Gráfico de conexão de tempo ao longo do tempo:
Gráfico de percentis de tempo de resposta ao longo do tempo (respostas bem-sucedidas):
Gráfico de visão geral do tempo de resposta:
Os 5 principais erros por tabela do amostrador:
Mais detalhes sobre erros na tabela Erros
Tempo médio de resposta adicionado à tabela Estatísticas:
A tabela Active Threads agora empilha threads:
Novas métricas
Foi introduzida uma nova métrica sent_bytes que relata os bytes enviados ao servidor.
Outra métrica connect_time foi habilitada por padrão nesta versão
Como lidar com grandes respostas
O JMeter agora é capaz de lidar com respostas de métricas maiores que 2 GB, o limite foi aumentado para 9223372 TB.
Para lidar com respostas tão grandes, agora ele também pode truncar parte da resposta para evitar sobrecarga de memória. Consulte a propriedade httpsampler.max_bytes_to_store_per_request .
Nova função __groovy
Introduza uma nova função __groovy que habilita as funções do Groovy. Isso pode ser útil, pois o JavaScript pode ser bastante lento (o mesmo para o BeanShell), quando usado em planos de teste altamente simultâneos.
Use Groovy como padrão para elementos JSR-223
Groovy agora está definido como o idioma padrão para elementos JSR-223. Se você quiser usar outro idioma suportado, você deve fazer uma escolha explícita.
Por padrão , o script compilado de cache, se disponível , não é verificado por padrão, embora seja recomendável verificar e garantir que você não use a sintaxe ${varName} para acessar as variáveis JMeter, mas vars.get("varName") .
Visualização de origem HTML formatada na visualização em árvore de resultados
O código-fonte HTML na visualização em árvore de resultados agora pode ser visualizado formatado. Isso é extremamente útil, se o código da página da Web foi removido de todos os espaços em branco supérfluos.
Nova visualização de origem HTML formatada
Capacidade de atualizar todos os temporizadores no plano de teste com uma nova propriedade
Foi introduzida uma nova propriedade timer.factor=1.0f que permite multiplicar por ela os tempos de pausa calculados por Gaussian, Uniform e Poisson Timers. Isso permite que você atualize o Think Times de um só lugar e ganhe produtividade.
Melhorias principais
Várias correções de GUI e UX
Melhorias no uso de memória
A solicitação JDBC agora pode retornar Blob/Clob e calcula a latência e o tempo de conexão
A análise de CSS introduzida na versão 3.0 foi otimizada pela introdução de um cache de análise
A solicitação HTTP agora é capaz de lidar com o corpo da solicitação GET, isso é útil para solicitações do Elastic Search, por exemplo.
Melhorias na documentação
Revisão da documentação e melhorias para facilitar a inicialização
Um cache para CSS Parsing de URLs foi introduzido nesta versão, está habilitado por padrão. Ele é controlado pela propriedade css.parser.cache.size . Ele pode ser desabilitado definindo seu valor como 0 . Veja
Bug 59885
Os padrões do ThroughputController foram alterados. Agora os padrões são Percent Executions, que é global e não mais por usuário. Veja
Bug 60023
Desde a versão 3.1, o relatório HTML ignora o Transaction Controller vazio (possivelmente gerado por If Controller ou Throughput Controller ) ao calcular as métricas. Isso fornece métricas mais precisas
Desde a versão 3.1, o Summariser ignora SampleResults gerados pelo Transaction Controller ao calcular as estatísticas ao vivo, veja
Bug 60109
Desde a versão 3.1, ao usar os modos Stripped (por padrão, StrippedBatch é usado), a resposta será removida também por falha em SampleResults, você pode reverter isso para o comportamento anterior definindo sample_sender_strip_also_on_error=false em user.properties , consulte
Bug 60137
Desde a versão 3.1, o valor da propriedade jmeter.save.saveservice.connect_time é true , o que significa que o arquivo CSV para resultados conterá uma coluna adicional contendo o tempo de conexão, consulte
Bug 60106
Desde a versão 3.1, as subclasses Random Timer (Gaussian Random Timer, Uniform Random Timer e Poisson Random Timer) implementam a interface org.apache.jmeter.timers.ModifiableTimer
Desde a versão 3.1, se você não selecionar nenhum idioma em JSR223 Test Elements, o idioma Apache Groovy será usado. Veja
Bug 59945
Desde a versão 3.1, o CSV DataSet agora corta os nomes das variáveis para evitar problemas devido a espaços entre os nomes das variáveis ao configurar o CSV DataSet. Isso não deve ter nenhum impacto para você, a menos que você use espaço no início ou no final de seus nomes de variáveis. Veja
Bug 60221
Desde a versão 3.1, a solicitação HTTP é capaz de usar a implementação HttpClient4 (padrão) para lidar com respostas maiores que 2147483647 Bytes, ou seja, 2 GB. Para permitir isso, duas propriedades foram introduzidas:
httpsampler.max_bytes_to_store_per_request (o padrão é 10 MB) controlará o que é mantido na memória. Por padrão, o JMeter apenas manterá na memória os primeiros 10 MB de uma resposta. Se você tiver respostas maiores que esse valor e usar asserções após os primeiros 10 MB, deverá aumentar esse valor
httpsampler.max_buffer_size controlará o buffer usado para ler os dados. Anteriormente, o JMeter usava um buffer igual ao cabeçalho Content-Length, o que poderia levar a falhas e tornar o JMeter menos resistente a aplicativos defeituosos, mas observe que isso pode afetar os tempos de resposta e fornecer resultados ligeiramente diferentes das versões anteriores se seu aplicativo retornasse um cabeçalho Content-Length maior do que o valor padrão atual (65 KB)
Esses elementos não aparecem mais no menu, se você precisar deles modifique a propriedade not_in_menu . A equipe do JMeter aconselha a não usá-los mais e migrar para o substituto.
Bug 60222
- Remove elementos obsoletos Distribution Graph, Spline Visualizer
Bug 60323
- Preterir elementos BSF (Use elementos JSR223 em vez disso). Eles provavelmente serão descartados na versão N+2. Os seguintes elementos estão obsoletos:
Bug 60225
- Descarte a função __jexl obsoleta , suporte a jexl em BSF e dependência de commons-jexl-1.1.jar . Esta função pode ser facilmente substituída pela função __jexl3
Bug 60268
- Descartar org.apache.jmeter.gui.action.Analyze e descontinuar org.apache.jmeter.reporters.FileReporter (será removido na próxima versão)
Bug 59885
- Otimize a análise css para download de recursos incorporados introduzindo um cache. Contribuição de Benoit Wiart (b.wiart em ubik-ingenierie.com) através do
Pull request #219
-
Bug 60092
- Exibir árvore de resultados: Adicione uma versão abreviada do corpo PUT ao resultado do amostrador.
Bug 60229
- Adicione uma nova métrica: sent_bytes. Implementado por Philippe Mouawad (p.mouawad em ubik-ingenierie.com) e contribuído por Ubik Load Pack (suporte em ubikloadpack.com)
Bug 53039
- Solicitação HTTP: ser capaz de lidar com respostas cujo tamanho exceda 2147483647 bytes (ou seja, 2 GB)
Bug 60265
- Solicitação HTTP: na guia Upload de arquivos, você não pode redimensionar colunas
Bug 60318
- Ignore os avisos CSS ao analisar com a biblioteca ph-css.
Bug 60358
- Solicitação HTTP: permitir o envio de dados do corpo para solicitação HTTP GET
Outros amostradores
Pull request #211
- Diferencie o tempo para JDBC Sampler. Use a latência e o tempo de conexão. Contribuição de Thomas Peyrard (thomas.peyrard em murex.com)
Bug 59620
- Corrige a ação do botão em "JMS Publisher → Arquivo aleatório da pasta especificada abaixo" para permitir a seleção de um diretório
Bug 60066
- Manipule CLOBs e BLOBs e limite-os se necessário ao armazená-los no amostrador de resultados.
Controladores
Bug 59351
- Melhorar log/erro/mensagem para IncludeController. Contribuição parcial de Antonio Gomes Rodrigues (ra0077 em gmail.com)
Bug 60023
- ThroughputController : Faça "Percent Executions" e global os valores padrão. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 60082
- Modo de validação: ser capaz de forçar o controlador de taxa de transferência a ser executado como se estivesse definido como 100%
Bug 59349
- Apara espaços no nome do arquivo de entrada no IncludeController.
Bug 60081
- Interleave Controller: Adicione uma opção para alternar entre os threads
Ouvintes
Bug 59953
- GraphiteBackendListener: Adicionar métrica média. Contribuição parcial de Maxime Chassagneux (maxime.chassagneux em gmail.com)
Bug 59975
- Exibir Árvore de Resultados: O renderizador de texto rola irritantemente para baixo quando o conteúdo é volumoso. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 60109
- Summariser: Faça com que ele ignore SampleResult gerado por TC em seus cálculos de resumo
Bug 59948
- Adicione uma renderização de código-fonte HTML formatado e sensato à Árvore de Resultados da Visualização
Bug 60252
- Adicionar kbytes/s enviados ao Relatório Agregado e ao Relatório de Resumo
Bug 60267
- UX: Na Árvore de Resultados da Visualização deve ser possível fechar o pop-up Configurar digitando escape. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 59845
- Mensagens de log sobre incompatibilidades de caminho JSON no nível de depuração em vez de erro .
Solicitação pull nº 212
- Permitir seleção múltipla e exclusão no Gerenciador de autorização HTTP. Baseado em um patch de Benoit Wiart (b.wiart em ubik-ingenierie.com)
Bug 59816
-
Pull request #213
- Permitir seleção múltipla e exclusão no HTTP Header Manager. Baseado em um patch de Benoit Wiart (b.wiart em ubik-ingenierie.com)
Bug 59967
- CSS/JQuery Extractor: Permite valor padrão vazio. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 59974
- Asserção de resposta: botão Adicionar " Adicionar da área de transferência ". Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 60050
- Conjunto de dados CSV : Deixe claro nos logs quando um thread será encerrado devido a essa configuração
Bug 59962
- O Gerenciador de Cache não atualiza a data de expiração quando o código de resposta é 304 .
Bug 60018
- Temporizador: Adicione um fator para aplicar em pausas. Parcialmente baseado em um patch do Ubik Load Pack (suporte em ubikloadpack.com)
Bug 60203
- Use mais espaço disponível para textarea em XPath Assertion.
Bug 60220
- Renomear o pós-processador do caminho JSON para o extrator JSON
Bug 60221
- CSV DataSet: nomes de variáveis de corte
Bug 59329
- Apara espaços no nome do arquivo de entrada em CSVDataSet.
Funções
Bug 59963
- Nova função __RandomFromMultipleVars : Capacidade de calcular um valor aleatório a partir de valores de uma ou mais variáveis. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 59991
- Nova função __groovy para avaliar Script Groovy. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
I18N
Pull request #214
- Adicione tradução em espanhol para atraso no início de threads. Contribuição de Asier Lostalé (asier.lostale em openbravo.com).
Bug 60348
- Alterar a tradução chinesa para Salvar como . Contribuição de XMeter (suporte em xmeter.net).
Relatório / Painel
Bug 59954
- Relatório/Painel da Web: Adicionar métrica média
Bug 59956
- Web Report / Dashboard : Adicionada a capacidade de gerar um gráfico para um intervalo de dados
Bug 60065
- Relatório/Painel: Melhore o Resumo de Erros do Painel adicionando mensagem de resposta a "Tipo de erro". Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 60079
- Relatório / Painel: Adicione um novo gráfico "Visão geral do tempo de resposta"
Bug 60080
- Relatório/Painel: Adiciona um novo gráfico "Conectar Tempo Sobre Tempo". Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 60091
- Relatório/Painel: Tenha um novo relatório contendo gráficos de mín/máx e percentis.
Bug 60108
- Relatório/Painel: No resumo de solicitações, o arredondamento é muito agressivo
Bug 60098
- Relatório/Painel: Reduza o valor padrão para " jmeter.reportgenerator.statistic_window " para reduzir o impacto na memória
Bug 60115
- Adicionar propriedade de formato de data para filtro de data de início/término no gerador de relatórios
Bug 60171
- Relatório / Painel: Threads ativos ao longo do tempo devem empilhar linhas para fornecer a quantidade total de threads em execução
Bug 60250
- Relatório/Painel: Necessário adicionar KB/s enviados no Relatório de Estatísticas do Painel HTML
Bug 60287
- Relatório/Painel: Tem um novo Top5 Erros por tabela de amostra no Dashboard. Implementado por Philippe Mouawad (p.mouawad em ubik-ingenierie.com) e contribuído por Ubik Load Pack (suporte em ubikloadpack.com)
Em geral
Bug 59803
- Use o método isValid() do driver JDBC, se nenhuma consulta de validação
for fornecida na Configuração de Conexão JDBC.
Bug 57493
- Criar uma página de documentação para propriedades
Bug 59924
- O nível de log do pacote XXX é definido como DEBUG se log_level. O valor da propriedade XXXX contém espaços, o mesmo para a função __log
Bug 59777
- Extraia a ligação SLF4J em seu próprio jar e torne-a uma biblioteca JMeter.
Se você receber um aviso sobre várias ligações SLF4J na inicialização. Remova a ligação
lib/ApacheJMeter_slf4j_logkit.jar fornecida pelo Apache JMeter ou todas as outras ligações relatadas. Para mais informações, você pode dar uma olhada na página de informações do próprio SLF4J.
Bug 60085
- Remova o cache para instruções preparadas, pois não funcionou com a implementação do pool JDBC atual e os drivers JDBC atuais devem suportar o cache de instruções preparadas.
Bug 60137
- No teste distribuído ao usar os modos StrippedXXXX, tira a resposta também em caso de erro
Bug 60106
- Padrões de configurações: Mude " jmeter.save.saveservice.connect_time " para true (após 3.0)
Pull request #229
- pequenas melhorias na alocação de memória. Contribuição de Benoit Wiart (b.wiart em ubik-ingenierie.com)
Bug 59945
- Para todos os elementos JSR223, se o idioma do script não tiver sido escolhido na interface do usuário, o script será interpretado como um script groovy.
Bug 60266
- Usabilidade/UX: Não deve ser possível fechar/sair/Reverter/Carregar/Carregar um projeto recente ou criar a partir do modelo um plano JMeter ou abrir um novo se um teste estiver em execução
Bug 57305
- Remova a dependência do ProxyControl no GuiPackage . Baseado em patches de jarek102 (jarek102 em gmail.com) e Wyatt Epp (wyatt.epp em gmail.com)
Alterações não funcionais
Atualizado para jsoup-1.10.1 (de 1.8.3)
Atualizado para ph-css 4.1.6 (de 4.1.4)
Atualizado para tika-core e tika-parsers 1.14 (de 1.12)
Atualizado para commons-io 2.5 (de 2.4)
Atualizado para commons-lang3 3.5 (de 3.4)
Atualizado para commons-net 3.5 (de 3.4)
Atualizado para groovy 2.4.7 (de 2.4.6)
Atualizado para httpcore 4.4.5 (de 4.4.4)
Atualizado para slf4j-api 1.7.21 (de 1.7.13)
Atualizado para rsyntaxtextarea-2.6.0 (de 2.5.8)
Atualizado para xstream 1.4.9 (de 1.4.8)
Atualizado para jodd 3.7.1 (de 3.6.7.jar)
Atualizado para xmlgraphics-commons 2.1 (de 2.0.1)
Solicitação pull #215
- Reduza o código duplicado usando o método recém-adicionado GuiUtils#cancelEditing . Contribuição de Benoit Wiart (b.wiart em ubik-ingenierie.com)
Pull request #216
- Reutilize o padrão quando possível. Contribuição de Benoit Wiart (b.wiart em ubik-ingenierie.com)
Bug 60364
- Cobertura de Teste de Documento. Contribuição de Thomas Schapitz (ts-nospam12 em online.de)
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Bug 58888
- HTTP(S) Test Script Recorder (ProxyControl) não adiciona TestElements retornados por SamplerCreator#createChildren()
Bug 59902
- Falha de handshake Https ao definir a propriedade httpclient.socket.https.cps
Bug 60084
- URL de recurso incorporado do JMeter 3.0 é codificado silenciosamente
Bug 60376
- Gravador de script de teste Http : Se deflate for usado pelo servidor, a gravação pode interromper o aplicativo
Outros Amostradores
Bug 59113
- Configuração de conexão JDBC: Nível de isolamento de transação não definido corretamente se constante usada em vez de numérica
Controladores
Bug 60361
- ModuleController: Se um plano de teste contiver um controlador de módulo que faz referência a um controlador inexistente, o JMeter no modo GUI não será interrompido
Ouvintes
Bug 59712
- Exibe a consulta original no RequestView quando a decodificação falha. Baseado em um patch de Teemu Vesala (teemu.vesala em qentinel.com)
Bug 60278
- Desde 2.13 (e
Bug 57514 ), Gráfico Agregado, Relatório Resumido e Relatório Agregado perderam precisão nos valores de Erro, Taxa e Largura de Banda salvos no arquivo salvo csv
Bug 60360
- Exibir árvore de resultados: guia de solicitação não mostra o corpo de uma solicitação DELETE
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 59964
- Elemento de teste JSR223: O script compilado em cache, se disponível, não é redefinido corretamente. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 59609
- Formate objetos JSON extraídos no JSON Post Processor corretamente como JSON.
Bug 60332
- Exibir árvore de resultados: com o Windows LAF, o JSON Extractor não mostra a expressão do caminho JSON e o painel de resultados
Funções
I18N
Em geral
Bug 59400
- Livre-se de UnmarshalException ao parar quando a opção -X for usada.
Bug 59607
- O JMeter trava ao ler um plano de teste grande (maior que 2 GB). Baseado na correção de Felix Draxler (felix.draxler em sap.com)
Bug 59621
- A contagem de erros no painel do relatório está desativada.
Bug 59657
- Somente configura fonte em JSyntaxTextArea, quando a propriedade jsyntaxtextarea.font.family está configurada.
Bug 59720
- As comparações de arquivos de teste em lote falham no Windows, pois os arquivos XML são gerados como EOL=LF
Limpezas de código. Patches de Graham Russell (graham em ham1.co.uk)
Bug 59722
- Use StandardCharsets para reduzir a possibilidade de erros de ortografia de nomes de Charset.
Bug 59723
- Use jmeter.properties para testar sempre que possível
Bug 59726
- Teste de unidade para verificar se o texto do cabeçalho CSV e o formato de amostra não mudam inesperadamente
Bug 59889
- Altere a codificação para UTF-8 nos relatórios do painel.
Bug 60053
- No modo Non GUI, um Stacktrace é mostrado no final do teste enquanto o relatório está sendo gerado
Bug 60049
- Ao usar Temporizadores com atrasos altos ou Temporizador de taxa de transferência constante com taxa de transferência baixa, o Agendador pode demorar muito para sair, o mesmo para teste de desligamento
Bug 60089
- Relatório / Painel: A taxa de transferência de bytes ao longo do tempo reverteu os bytes enviados e recebidos. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 60090
- Relatório/painel: o controlador de transação vazio não deve contar nas métricas
Bug 60103
- Relatório/Painel: O resumo das solicitações inclui o Controlador de Transação levando a uma porcentagem errada
Bug 60105
- Relatório / Painel: O relatório requer que a opção " gerar amostra pai " do Controlador de Transação seja verificada, corrija problemas relacionados
Bug 60107
- Report / Dashboard: Em StatisticSummary, TransactionController SampleResult torna a linha Total errada
Bug 60110
- Relatório / Painel: Em Percentis de Tempo de Resposta, o controle deslizante é inútil
Bug 60135
- Relatório / Painel: Threads ativos ao longo do tempo devem estar na seção OverTime
Bug 60125
- Relatório/Painel: O painel não pode ser gerado se o delimitador padrão for \t . Com base em um relatório de Tamas Szabadi (tamas.szabadi em rightside.co)
Bug 59439
- Relatório/Painel: AbstractOverTimeGraphConsumer.createGroupInfos() deve ser abstrato
Bug 59918
- O relatório HTML gerado pelo Ant está quebrado (pasta extras)
Bug 60295
- JSON Extractor não indexa elementos de matriz quando apenas um elemento é encontrado. Baseado em um patch de Roberto Braga (roberto.braga em sociale.it)
Bug 60299
- Grupo de Threads com Agendador: Comportamento estranho quando End-Time está no passado
Obrigado
Agradecemos a todos os contribuidores mencionados nas seções de bugs e melhorias acima:
Felix Draxler (felix.draxler em sap.com)
Antonio Gomes Rodrigues (ra0077 em gmail.com)
Graham Russell (graham em ham1.co.uk)
Teemu Vesala (teemu.vesala em qentinel.com)
Asier Lostalé (asier.lostale em openbravo.com)
Thomas Peyrard (thomas.peyrard em murex.com)
Benoit Wiart (b.wiart em ubik-ingenierie.com)
Maxime Chassagneux (maxime.chassagneux em gmail.com)
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Para esta versão, queremos agradecer especialmente aos seguintes repórteres pelos relatórios claros e testes feitos após nossas correções:
Desculpe se omitimos mais alguém.
Problemas conhecidos e soluções alternativas
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que há um bug no Java
em alguns sistemas Linux que se manifesta como o seguinte erro ao executar os casos de teste ou o próprio JMeter:
[java] AVISO: não foi possível liberar as preferências do usuário:
java.util.prefs.BackingStoreException:
java.lang.IllegalArgumentException: Não suportado: número de recuo
Isso não afeta a operação do JMeter. Esse problema foi corrigido desde o Java 7b05.
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Com o Oracle Java 7 e o Mac Book Pro Retina Display, a GUI do JMeter pode parecer embaçada. Este é um bug Java conhecido, veja Bug JDK-8000629 . Uma solução alternativa é usar um tempo de execução do Java 7 update 40 que corrige esse problema.
Você pode encontrar o seguinte erro:
java.security.cert.CertificateException: os certificados não estão em conformidade com as restrições do algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 7 versão u16 (MD2) e versão u40 (tamanho do certificado inferior a 1024 bits) e Java 8 também.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
No Mac OSX Aggregate Graph mostrará valores errados devido ao efeito de espelhamento nos números. Isso ocorre devido a um bug Java conhecido, veja Bug JDK-8065373
A correção é usar JDK7_u79, JDK8_u45 ou posterior.
A Árvore de Resultados da Visualização pode falhar ao exibir algum código HTML no renderizador HTML, consulte
o Bug 54586 . Isso se deve a um bug conhecido do Java que falha ao analisar unidades " px " em atributos de linha/coluna. Veja Bug JDK-8031109
A correção é usar JDK9 b65 ou posterior.
A seleção de JTable com teclado ( SHIFT + up/down ) é totalmente inutilizável com JAVA 7 no Mac OSX. Isso ocorre devido a um bug Java conhecido JDK-8025126
A correção é usar o JDK 8 b132 ou posterior.
Criação de plano de teste e melhorias de depuração
Novo recurso de pesquisa na árvore de resultados de visualização para permitir a pesquisa de texto / regexp em Solicitação/Respostas/Cabeçalhos/Cookies/… Isso facilitará a criação de planos de correlação e teste
Novo JSON Post Processor para extrair melhor os dados do conteúdo JSON usando a sintaxe JSON-PATH amigável
JSON agora é um cidadão de primeira classe no JMeter com a introdução de um novo pós-processador JSONPath . Este pós-processador é muito semelhante ao pós-processador de expressão regular, mas é adequado para código JSON. É baseado na biblioteca Jayway JSON Path
Novo recurso de validação, em um clique, execute uma seleção de Thread Groups com 1 usuário, sem pausa e 1 iteração
Os elementos de teste JSR223 não exigem mais uma chave de compilação de cache
Basta marcar a caixa de seleção Cache compilado, se disponível , e os elementos (Pré-Processador, Pós-Processador, Asserções, Ouvintes, …) irão pré-compilar o script e armazenar em cache o código compilado se a linguagem subjacente o suportar
O Nashorn agora pode ser usado como mecanismo Javascript, proporcionando melhor desempenho e uso mais fácil
Para habilitar o Nashorn , você precisa definir em user.properties :
javascript.use_rhino=false
Nashorn pode ser usado com Java 8 nos seguintes elementos:
IfController
Elementos de teste JSR223 com a linguagem javascript selecionada
função __javaScript
Jexl3 foi integrado. Ele fornece novos recursos de script e documentação muito melhor
JEXL3 agora pode ser usado graças a uma nova função __jexl3 . JEXL é uma linguagem muito parecida com JSTL.
IU de solicitação HTTP simplificada
Uma nova guia " Avançado " foi adicionada à solicitação HTTP para simplificar a configuração. O recurso de upload de arquivos foi movido para uma guia dedicada. Isso aumenta o espaço disponível para parâmetros na interface do usuário e simplifica o UX.
Melhorias nos padrões de solicitação HTTP
Agora você pode configurar o endereço de origem (como recurso de IP Spoofing) e " Salvar resposta como hash MD5 " na guia Avançado
Melhorias nos relatórios
Novo recurso de relatórios gerando gráficos dinâmicos em páginas HTML (APDEX, relatório de resumo e gráficos)
Um relatório HTML dinâmico agora pode ser gerado no final de um teste de carga ou de um arquivo de resultado sempre que você desejar. Consulte Gerando painel para obter mais detalhes. Este relatório fornece as seguintes métricas:
Tabela APDEX (Application Performance Index) que calcula o APDEX com base em valores configuráveis para limites tolerados e satisfeitos
Um gráfico de resumo de solicitação mostrando a porcentagem de transação bem-sucedida e com falha:
Uma tabela de estatísticas fornecendo em uma tabela um resumo de todas as métricas por transação, incluindo 3 percentis configuráveis:
Uma tabela de erros que fornece um resumo de todos os erros e sua proporção no total de solicitações:
Gráfico com zoom onde você pode marcar/desmarcar cada transação para mostrá-la/ocultá-la para:
Tempos de resposta ao longo do tempo:
Taxa de transferência de bytes ao longo do tempo:
Latências ao longo do tempo:
Golpes por segundo:
Códigos de resposta por segundo:
Transações por segundo:
Tempo de resposta vs solicitação por segundo:
Latência vs Solicitação por segundo:
Percentis de tempos de resposta:
Tópicos ativos ao longo do tempo:
Tempos vs Tópicos:
Distribuição do tempo de resposta:
GraphiteBackendListener tem uma nova métrica de hits do servidor
O Summariser exibe uma duração mais legível
Agora a duração é exibida no formato horas:minutos:segundos
BackendListener agora permite que você defina a lista de amostradores como uma expressão regular
Agora você pode usar uma expressão regular para selecionar os amostradores que deseja filtrar. Use o parâmetro: useRegexpForSamplersList=true e coloque um regex no parâmetro samplersList
Melhorias nos protocolos e no teste de carga
A migração para HttpClient 4.5.2 foi iniciada. Embora não esteja completamente acabado, melhora muitas áreas no JMeter
A migração para HttpClient 4.5.2 melhora os seguintes campos do JMeter:
Mecanismo de validação aprimorado e com melhor desempenho para conexões obsoletas e gerenciamento Keep-Alive, consulte as propriedades httpclient4.validate_after_inactivity e httpclient4.time_to_live
Melhor suporte de HTTP RFC 2616 / RFC 7230 e correções para problemas com o gerenciamento de compactação de deflação
Downloads paralelos agora são realistas e dimensionados muito melhor:
Análise de arquivos CSS importados (através de @import ) ou recursos incorporados (fundo, imagens, …)
Inicialização lenta do contexto SSL: para 15 threads 138% mais amostragem em 5 minutos para testes somente HTTP. O ganho aumenta à medida que o número de threads aumenta
Retrabalho de gerenciamento de conexão para download paralelo: isso simula melhor o comportamento atual do navegador e melhora a taxa de transferência. Para 15 fios 135% de amostras extras em 5 minutos.
Reutilização de threads usados para downloads paralelos por meio de um ThreadPool: isso melhora a taxa de transferência e aumenta a escalabilidade do JMeter para esses testes
Total de 750% mais throughput encontrado no teste com 15 threads, quanto mais threads você tiver, maior será o ganho
Agora você pode calcular e armazenar apenas o MD5 de recursos incorporados em vez de armazenar a resposta inteira, isso pode ser feito definindo a propriedade httpsampler.embedded_resources_use_md5=true
Introdução do recurso Tempo limite de amostra
Este novo pré-processador de tempo limite de amostra permite que você aplique um tempo limite nos elementos que estão em seu escopo. Na captura de tela abaixo, o tempo limite de 10 segundos se aplica aos elementos Debug Sampler e HTTP Request .
A solicitação JDBC agora usa o conjunto DBCP2
A Solicitação JDBC e a Configuração de Conexão JDBC foram atualizadas para substituir o Excalibur Pool antigo pelo pool Apache Commons DBCP2. Como consequência, as propriedades foram migradas para equivalentes quando disponíveis e a interface do usuário foi atualizada. Observe que, diferentemente do Excalibur, o Commons DBCP usa a consulta de validação ao criar o pool. Portanto, verifique se a consulta é válida. A consulta padrão é adequada para muitos bancos de dados, mas não para todos - por exemplo, o Oracle requer ' SELECT 1 FROM DUAL ' ou similar.
JMeter tem um novo logotipo criado por Felix Schumacher. Os ícones também foram atualizados para dar um estilo mais moderno e torná-los mais significativos
Muitas correções de pequenos bugs irritantes
Cerca de 40 correções de interface do usuário foram feitas para corrigir bugs, comportamentos confusos ou simplificar o uso, não permitindo que opções incompatíveis sejam selecionadas
Interface de usuário do grupo de threads aprimorada e ações relacionadas ( Iniciar , Iniciar sem temporizadores , Validar )
Criar e testar um Plano de Teste antes do Teste de Carga foi muito simplificado, permitindo que você inicie apenas uma seleção de Grupo de Threads, inicie-os sem aplicar Timers (ganhando assim tempo) ou inicie-os usando um novo modo de Validação. Este modo de validação permite iniciar um Thread Group (sem modificá-lo) com 1 thread, 1 iteração e sem aplicar temporizadores. Este modo de validação pode ser personalizado.
Novos atalhos
Adicione os elementos mais usados ( Ctrl + 0
…
Ctrl + 9 ), configuráveis através das propriedades do gui.quick_ XXX
Atalhos para expandir nós
Melhorias principais
Simplificação de configuração com melhores padrões
Os valores padrão para muitas propriedades foram modificados para tornar a configuração do JMeter ideal pronta para uso. Leia a seção "Alterações incompatíveis" para obter mais detalhes.
Apache Groovy empacotado com JMeter
Apache Groovy , a conhecida linguagem de script JVM, agora está empacotada com o Apache JMeter na pasta lib. Isso permite que você o use imediatamente por meio do JSR223 Elements selecionando o idioma Groovy.
Propriedades supérfluas e antigas removidas
Propriedades antigas que existiam para manter a compatibilidade com versões anteriores ou para oferecer alguma personalização supérflua foram removidas. Leia a seção "Alterações incompatíveis" para ver quais propriedades foram removidas.
Melhorias no código e na documentação
Migração para código fonte Java7 e uso de seu açúcar sintático
Principais limpezas de código
Revisão completa da documentação e melhoria tanto no conteúdo quanto na apresentação
Melhorias nos testes de unidade
Migração de muitos testes para JUnit 4
Melhor gerenciamento de testes sem cabeça
Mais testes de unidade
Atualização de dependências
Bibliotecas obsoletas descartadas ou substituídas por outras atualizadas:
Excalibur substituído por commons-dbcp
htmllexer, htmlparser removido
sabão removido
jdom removido
Slf4j agora pode ser usado em Plugins e código principal
Agora você pode usar o wrapper de log SLF4J em seus plugins personalizados ou subclasses org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient .
Alterações incompatíveis
Desde a versão 3.0, o Groovy-2.4.6 é empacotado com o JMeter ( pasta lib ), certifique-se de remover a versão antiga ou versões referenciadas através das propriedades search_paths ou user.classpath
Desde a versão 3.0, o valor da propriedade jmeter.save.saveservice.assertion_results_failure_message é true, o que significa que o arquivo CSV para resultados conterá uma coluna adicional contendo a mensagem de resposta do resultado da asserção, consulte
Bug 58978
Desde a versão 3.0, o valor da propriedade jmeter.save.saveservice.print_field_names é true, o que significa que o arquivo CSV para resultados conterá nomes de campo como primeira linha no CSV, consulte
Bug 58991
Desde a versão 3.0, o valor da propriedade jmeter.save.saveservice.idle_time é true, o que significa que os arquivos de resultados CSV/XML conterão uma coluna adicional contendo tempo ocioso entre amostradores, consulte
Bug 57182
Na classe RandomTimer, o campo de timer de instância protegida foi substituído pelo método protegido getTimer() , isso está relacionado ao
Bug 58100 . Isso pode afetar plugins de terceiros.
Desde a versão 3.0, você pode usar o Nashorn Engine (o mecanismo javascript padrão é Rhino) no Java8 para Elementos que usam o JavaScript Engine ( __javaScript , IfController ). Se você quiser usá-lo, use a propriedade javascript.use_rhino=false , veja
Bug 58406 .
Nota: em uma versão futura, mudaremos para Nashorn por padrão. Os usuários são incentivados a relatar qualquer problema relacionado ao uso do Nashorn em vez do Rhino.
Desde a versão 3.0, o JMS Publisher recarregará o conteúdo do arquivo se a origem da mensagem for " From File " e o campo " Filename " for alterado (por exemplo, se usar uma variável que foi alterada)
org.apache.jmeter.gui.util.ButtonPanel foi removido, se você usá-lo em seu plugin de terceiros ou desenvolvimento personalizado, certifique-se de atualizar seu código. Veja
Bug 58687
A propriedade jmeterthread.startearlier foi removida. Veja
Bug 58726
A propriedade jmeterengine.startlistenerslater foi removida. Veja
Bug 58728
A propriedade jmeterthread.reversePostProcessors foi removida. Veja
Bug 58728
A propriedade jmeter.toolbar.display foi removida, a barra de ferramentas agora é sempre exibida. Veja
Bug 59236
A propriedade jmeter.errorscounter.display foi removida, o contador de erros/avisos agora é sempre exibido. Veja
Bug 59236
A propriedade xml.parser foi removida, não é mais usada, pois org.apache.jmeter.util.JMeterUtils#getXMLParser foi obsoleta e também não é usada. Veja
Bug 59236
O listener do Summariser agora mostra a duração no formato HH:mm:ss (Hora:Minuto:Segundo), antes mostrava a duração em segundos. Veja
Bug 58776
A assinatura org.apache.jmeter.protocol.http.visualizers.RequestViewHTTP.getQueryMap foi alterada, se você usá-la, certifique-se de atualizar seu código. Veja
Bug 58845
O Assinante JMS considerará uma amostra como um erro se o número de mensagens recebidas não for igual ao número esperado de mensagens. Anteriormente, considerava uma amostra OK se pelo menos 1 mensagem fosse recebida. Veja
Bug 58980
Desde a versão 3.0, o gravador de script de teste HTTP(S) usa como padrão a porta 8888 (conforme configurado ao usar o modelo de gravação). Veja
Bug 59006
Desde a versão 3.0, o analisador para recursos incorporados (substituído desde 2.10 pela implementação baseada em Lagarto) que dependia da biblioteca htmlparser (HtmlParserHTMLParser) foi descartado junto com suas dependências.
Desde a versão 3.0, o suporte para leitura de arquivos JTL (resultados) no formato Avalon antigo foi removido, veja
Bug 59064
Desde a versão 3.0, o valor da propriedade padrão para http.java.sampler.retries foi alterado para 0 (sem repetição por padrão) para alinhá-lo com o comportamento de HttpClient4.
Observe também que seu significado mudou: antes da versão 3.0, http.java.sampler.retries=1 significava No Retry (ou seja, total de tentativas = 1), já que 3.0 http.java.sampler.retries=1 significa 1 retry. (Observação: isso se aplica apenas ao Java HTTP Sampler)
httpsampler.await_termination_timeout foi substituído por httpsampler.parallel_download_thread_keepalive_inseconds , que agora é o tempo de manutenção dos threads de download paralelo (em segundos).
JDBC Request foi atualizado para usar commons-dbcp2, desde então o comportamento é um pouco diferente, certifique-se de ter uma "Consulta de Validação" correta para seu banco de dados. Veja
Bug 58786
O número máximo de redirecionamentos permitidos pelo JMeter agora é 20, antes era 5. Isso pode ser alterado com a propriedade httpsampler.max_redirects . Veja
Bug 59382
Elementos obsoletos e removidos
Os elementos do MongoDB (MongoDB Source Config, MongoDB Script) foram preteridos e serão removidos na próxima versão do JMeter. Eles não aparecem mais no menu, se você precisar deles modifique a propriedade not_in_menu . A equipe do JMeter aconselha a não usá-los mais. Veja
Bug 58772
A solicitação WebService(SOAP) e a máscara de parâmetro HTML que foram preteridos na versão 2.13, agora foram removidos seguindo nossa estratégia de descontinuação . Classes e propriedades que eram usadas apenas por esses elementos foram eliminadas:
A função __jexl (ou seja, JEXL 1) foi descontinuada e será removida na próxima versão. Veja
Bug 58903
O ouvinte do Spline Visualizer e o ouvinte do Distribution Graph foram preteridos e serão removidos na próxima versão do JMeter. Eles não aparecem mais no menu, se você precisar deles modifique a propriedade not_in_menu . A equipe JMeter aconselha a não usá-los mais. Veja
Bug 58791
Melhorias
Amostradores HTTP e Gravador de Script de Teste
Bug 57696
- Solicitação HTTP: Melhore o responseMessage quando o download do recurso falhar. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 57995
- Use FileServer para arquivos de solicitação HTTP. Implementado por Andrey Pokhilko (andrey em blazemeter.com) e contribuído por BlazeMeter Ltd.
Bug 58843
- Melhora o espaço utilizável na GUI do amostrador HTTP. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58852
- Use menos memória para solicitações PUT . Os dados enviados não serão mais armazenados no Sampler. Este é o mesmo comportamento das solicitações POST .
Bug 58860
- Solicitação HTTP: Adiciona geração automática de variáveis na tabela de parâmetros HTTP clicando com o botão direito. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58923
- normaliza URIs ao baixar recursos incorporados.
Bug 59005
- Amostrador HTTP: Adicionado o verbo WebDAV ( SEARCH ).
Bug 59006
- Altere a porta de gravação de proxy padrão para 8888 para alinhá-la com o modelo de gravação. Contribuição de Antonio Gomes Rodrigues (ra0077 em gmail.com)
Bug 58099
- Desempenho: Inicialize lentamente o HttpClient SSL Context para evitar sua inicialização mesmo para cenários somente HTTP
Bug 57577
- HttpSampler: Recupere todos os recursos incorporados, adicione a propriedade " httpsampler.embedded_resources_use_md5 " para calcular apenas md5 e não manter os dados de resposta. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 59023
- HttpSampler UI : retrabalhe os rótulos de recursos incorporados e altere o número padrão de downloads paralelos para 6 . Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 59028
- Use SystemDefaultDnsResolver singleton. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 59036
- FormCharSetFinder: Use JSoup em vez de HTMLParser obsoleto
Bug 59034
- O gerenciamento de conexão de downloads paralelos não é realista. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com) e Philippe Mouawad
Bug 59060
- GUI de solicitação HTTP: Mover o upload de arquivo para uma nova guia para ter mais espaço para parâmetros e evitar configuração incompatível. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 59103
- Implementação Java de Solicitação HTTP: Altere o padrão " http.java.sampler.retries " para alinhá-lo no comportamento HttpClient e tornar o nome significativo
Bug 59083
- Solicitação HTTP: Tornar o campo Método editável para que métodos adicionais (WebDAV) possam ser adicionados facilmente
Bug 59118
- Adicionar comentário no tempo de reflexão gravado pelo gravador proxy. Contribuição de Antonio Gomes Rodrigues (ra0077 em gmail.com)
Bug 59116
- Adicionada a possibilidade de configurar um prefixo para o nome do amostrador gravado por proxy. Parcialmente baseado em um patch de Antonio Gomes Rodrigues (ra0077 em gmail.com)
Bug 59129
- Solicitação HTTP: Simplifique a GUI com guias simples/avançadas
Bug 59033
- Download paralelo: Retrabalhe a hierarquia de classes do analisador para permitir analisadores de plug-in para diferentes tipos de mime
Bug 52073
- Recursos incorporados Download paralelo: Melhore o desempenho evitando o desligamento do ThreadPoolExecutor em cada amostra. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 59190
- Gravador de script de teste HTTP(S): as exclusões sugeridas devem ignorar maiúsculas e minúsculas. Contribuição de Antonio Gomes Rodrigues (ra0077 em gmail.com)
Bug 59140
- Download paralelo: Adicione análise CSS para extrair links de arquivos CSS
Bug 59249
- Padrões de solicitação HTTP: Adicionar " endereço de origem " e " salvar respostas como MD5 "
Bug 59382
- Valor padrão mais realista para httpsampler.max_redirects
Outros amostradores
Bug 57928
- Adicionada a capacidade de definir protocolo (http/https) à GUI do AccessLogSampler. Contribuição de Jérémie Lesage (jeremie.lesage em jeci.fr)
Bug 58300
- Faça com que os Java Samplers existentes implementem Interruptible
Bug 58160
- JMS Publisher: recarregar o conteúdo do arquivo se o nome do arquivo for alterado. Baseado em parte em um patch contribuído por Maxime Chassagneux (maxime.chassagneux em gmail.com)
Bug 58786
- JDBC Sampler: Substituir Excalibur DataSource por uma biblioteca mais atualizada commons-dbcp2
Bug 59205
- TCP Sampler: Defina o tempo de conexão no sampler quando a conexão for estabelecida.
Bug 59381
- JMSPublisher: O filtro FileChooserDialog não funciona para botões do navegador. Baseado em parte em um patch contribuído por Antonio Gomes Rodrigues (ra0077 em gmail.com)
Controladores
Bug 58406
- IfController: Permitir o uso do Nashorn Engine se disponível para avaliação de JavaScript
Bug 58281
- RandomOrderController: Melhora o desempenho do algoritmo de randomização. Contribuição de Graham Russell (jmeter em ham1.co.uk)
Bug 58675
- Módulo controlador: a mensagem de erro pode ser facilmente perdida. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58673
- Módulo controlador: quando o elemento alvo está desabilitado, os ícones jtree padrão são exibidos. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58674
- Módulo controlador: não deve ser possível selecionar mais de um nó na árvore. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58680
- Controlador de módulo: aprimoramento de interface do usuário. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58989
- GUI do controlador de gravação: adicione um botão para limpar todas as amostras gravadas. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Ouvintes
Bug 58041
- Tree View Listener deve mostrar o tipo de dados de amostra
Bug 58122
- GraphiteBackendListener: Adicionar métrica de ocorrências do servidor. Parcialmente baseado em um patch de Amol Moye (amol.moye em thomsonreuters.com)
Bug 58681
- GraphiteBackendListener: Não envie dados se não ocorreu amostragem
Bug 58776
- Summariser deve exibir uma duração mais legível
Bug 58791
- Deprete listeners: Distribution Graph (alfa) e Spline Visualizer
Bug 58849
- Exibir Árvore de Resultados : Adicione um painel de pesquisa à exibição http da solicitação para poder pesquisar na tabela de parâmetros. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58857
- Visualizar Árvore de Resultados: a visualização da solicitação http não permite redimensionar a primeira coluna da tabela de parâmetros. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58955
- Request view http não exibe corretamente os parâmetros http em multipart/form-data. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 55597
- Exibir árvore de resultados: adicione um recurso de pesquisa para pesquisar em amostradores gravados
Bug 59102
- Exibir Árvore de Resultados: Melhor valor padrão para " view.results.tree.max_size "
Bug 59099
- Backend listener : Adicionada a possibilidade de considerar samplersList como uma expressão regular. Contribuição de Antonio Gomes Rodrigues (ra0077 em gmail.com)
Bug 59424
- Visualizer: Adicione "Limpar" no menu pop-up
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 58303
- Alterar o uso da API bouncycastle no SMIMEAssertion para se livrar dos avisos de depreciação.
Bug 58515
- Novos componentes relacionados a JSON: JSON-PATH Extractor e JSON-PATH Renderer na View Results Tree. Doado por Ubik Load Pack (suporte em ubikloadpack.com).
Bug 58698
- Análise correta de arquivos de autenticação no Gerenciador de Autorização HTTP.
Bug 58756
- CookieManager: O conteúdo da caixa de seleção da Política de Cookies deve depender da implementação de Cookie.
Bug 56358
- O gerenciador de cookies suporta cookies de porta cruzada e RFC6265. Obrigado a Oleg Kalnichevski (olegk em apache.org)
Bug 58773
- TestCacheManager: Adicione testes para CacheManager que usam HttpClient 4
Bug 58742
- CompareAssertion: Redefinir dados no TableEditor ao alternar entre diferentes CompareAssertions no gui. Baseado em um patch de Vincent Herilier (vherilier em gmail.com)
Bug 59108
- TableEditor: Permite que as linhas sejam movidas para cima e para baixo. Contribuição de Vincent Herilier (vherilier em gmail.com)
Bug 58848
- Painel de Argumentos: ao adicionar um argumento (botão adicionar ou da área de transferência) role a tabela para a nova linha. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58865
- Permitir valor padrão vazio no Extrator de Expressão Regular. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 59156
- XMLAssertion: descarte a dependência do jdom usando XMLReader
Bug 59328
- Melhor dica de ferramenta para nomes de variáveis em CSVDataSet. Contribuição de Antonio Gomes Rodrigues (ra0077 em gmail.com)
Funções
Bug
58477 - função __javaScript: permitir o uso do mecanismo Nashorn para Java8 e versões posteriores
Bug 58903
- Fornece função __jexl3 que usa commons-jexl3 e função __jexl (1.1) obsoleta
I18N
Em geral
Bug 58736
- Adicionar suporte de tempo limite de amostra
Bug 57913
- Backups automatizados dos últimos arquivos JMX salvos. Contribuição de Benoit Vatan (benoit.vatan em gmail.com)
Bug 57988
- Atalhos ( Ctrl + 1 …
Ctrl + 9 ) para adicionar elementos rapidamente ao plano de teste. Implementado por Andrey Pokhilko (andrey em blazemeter.com) e contribuído por BlazeMeter Ltd.
Bug 58100
- Aprimoramentos de desempenho: Substitua Random por ThreadLocalRandom.
Bug 58677
-
TestSaveService#testLoadAndSave usa o conjunto errado de arquivos. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58689
- Adicione atalhos para expandir/recolher uma parte da árvore. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58696
- Criar tarefa Ant para configurar o projeto Eclipse
Bug 58653
- Novo JMeter Dashboard/Report com Gráficos Dinâmicos, Tabelas para ajudar a analisar os resultados do teste de carga. Desenvolvido por Ubik-Ingenierie e contribuído por Decathlon SA e Ubik-Ingenierie / UbikLoadPack
Bug 58699
- As alterações do Workbench não foram salvas nem solicitadas a serem salvas ao fechar. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58165
- Mostra o tempo decorrido desde o início do teste de carga no modo GUI. Parcialmente baseado em uma contribuição de Maxime Chassagneux (maxime.chassagneux em gmail.com)
Bug 58814
- JVM não reconhece mais a opção MaxLiveObjectEvacuationRatio ; remover dos comentários
Bug 58810
- Contador de elemento de configuração (e outros): Caixas de seleção Alternar área muito grande
Bug 56554
- Elemento de teste JSR223: Gera a chave de cache de compilação automaticamente. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58911
- Header Manager: deve ser possível copiar/colar entre Header Managers. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58864
- Painel de Argumentos: ao mover parâmetro com up/down, certifique-se de que a seleção permaneça visível. Baseado em uma contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58968
- Adicione um novo modelo para permitir gravar script com tempo de reflexão incluído. Contribuição de Antonio Gomes Rodrigues (ra0077 em gmail.com)
Bug 58978
- Padrões de configurações: Mude " jmeter.save.saveservice.assertion_results_failure_message " para true (após 2.13)
Bug 58991
- Padrões de configurações: Mude " jmeter.save.saveservice.print_field_names " para true (após 2.13)
Bug 57182
- Padrões de configurações: Mude " jmeter.save.saveservice.idle_time " para true (após 2.13)
Bug 58870
- TableEditor: tamanho mínimo é muito pequeno. Contribuição de Vincent Herilier (vherilier em gmail.com)
Bug 58933
- JSyntaxTextArea: Capacidade de definir fonte. Contribuição de Denis Kirpichenkov (denis.kirpichenkov em gmail.com)
Bug 58793
- Criar página de desenvolvedores explicando como construir e contribuir
Bug 59046
- O controlador JMeter Gui Replace deve manter o nome e a seleção. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 59038
- Preterir elementos relacionados ao HTTPClient 3.1
Bug 59094
- Elimine o suporte do antigo formato de arquivo JMX
Bug 59082
- Remova o parâmetro " TestCompiler.useStaticSet ". Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 59093
- Mensagem de erro de análise de opção pode ser ' perdida '
Bug 58715
- Solicitação de recurso: Agrupe groovy-all com JMeter
Bug 58426
- Melhora a exibição do JMeter em dispositivos de alta resolução (HiDPI) (parte 1 do aprimoramento)
Bug 59105
- TableEditor: Adiciona a capacidade de colar linhas da área de transferência e excluir seleção múltipla. Contribuição de Vincent Herilier (vherilier em gmail.com)
Bug 59197
- Thread Group: deve ser possível executar apenas um único grupo de threads ou uma seleção de grupos de threads com um menu popup. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 59207
- Muda a cor da fonte de errorsOrFatalsLabel para vermelho quando ocorre um erro. Contribuição de Antonio Gomes Rodrigues (ra0077 em gmail.com)
Bug 58941
- Crie um novo Starter que execute grupos de threads no modo de validação ( apenas 1 thread, 1 iteração, sem pausa, tudo personalizável)
Bug 59240
- Introduzir um adaptador slf4j para Logkit (isso permite usar slf4j dentro de plugins e código principal)
Bug 59153
- Pare o teste se CSVDataSet estiver acessando um arquivo não existente. Contribuição de Antonio Gomes Rodrigues (ra0077 em gmail.com)
Bug 59320
- Melhor dica de ferramenta na GUI com GenericTestBeanCustomizer (configuração de conjunto de dados CSV, configuração de conexão JDBC, configuração de armazenamento de chaves, …) . Baseado em um patch de Antonio Gomes Rodrigues (ra0077 em gmail.com)
Bug 59171
- A caixa de diálogo SaveConfig do resultado da amostra é gerada em ordem aleatória
Bug 59425
- Erro de exibição sobre a página de ajuda ausente dentro do painel de ajuda
Alterações não funcionais
Atualizado para httpclient, httpmime 4.5.2 (de 4.2.6)
Atualizado para tika-core e tika-parsers 1.12 (de 1.7)
Atualizado para commons-math3 3.6.1 (de 3.4.1)
Atualizado para commons-pool2 2.4.2 (de 2.3)
Atualizado para commons-lang 3.4 (de 3.3.2)
Atualizado para rhino-1.7.7.1 (de 1.7R5)
Atualizado para jodd-3.6.7.jar (de 3.6.4)
Atualizado para jsoup-1.8.3 (de 1.8.1)
Atualizado para rsyntaxtextarea-2.5.8 (de 2.5.6)
Atualizado para slf4j-1.7.12 (de 1.7.10)
Atualizado para xmlgraphics-commons-2.0.1 (de 1.5)
Atualizado para commons-collections-3.2.2 (de 3.2.1)
Atualizado para commons-net 3.4 (de 3.3)
Atualizado para slf4j 1.7.13 (de 1.7.12)
Bug 57981
- Requer um mínimo de Java 7. Contribuição parcial de Graham Russell (jmeter em ham1.co.uk)
Bug 58684
- JMeterColor não precisa estender java.awt.Color . Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58687
- ButtonPanel deve morrer. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58705
- Torna org.apache.jmeter.testelement.property.MultiProperty iterável. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58729
- Pasta extras de limpeza para manutenção
Bug 57110
- Correção de ortografia + gramática, formatação, código comentado removido etc. Contribuição de Graham Russell (jmeter em ham1.co.uk)
Instruções corretas sobre como executar o JMeter em help.txt . Contribuição de Pascal Schumacher (pascalschumacher em gmx.net)
Bug 58704
- Teste sem regressão: o teste de lote da tarefa Ant falha se os testes forem executados em uma localidade não en_EN e usarem um arquivo JMX que use um CSV DataSet
Bug 58897
- Melhorar o código de teste JUnit. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58949
- Limpeza do código LDAP. Baseado em um patch de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58897
- Melhorar o código de teste JUnit. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58967
- Use categorias JUnit para excluir testes que precisam de um gui. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 59003
-
ClutilTestCase testSingleArg8 e testSingleArg9 são idênticos
Bug 59064
- Remova OldSaveService que suportava arquivos JTL (resultado) de formato Avalon muito antigos
Bug 59165
- RSyntaxTextArea não compatível com testes sem cabeça
Bug 59021
- Use Double#compare em vez de reimplementá-lo em NumberProperty#compareTo
Bug 59037
- Descarte HtmlParserHTMLParser e dependências em htmlparser e htmllexer
Bug 58465
- O campo de resposta de leitura JMS está mal nomeado e documentado
Bug 58601
- Alterar verificação para modificação de saveservice.properties de SVN Revision ID para sha1 sum do próprio arquivo.
Bug 58726
- Remova o parâmetro jmeterthread.startearlier . Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58784
- Tornar JMeterUtils#runSafe sync/async awt invocation configurável e alterar os visualizadores para usar a versão assíncrona.
Bug 58790
- Problema no CheckDirty e sua relação com o ActionRouter
Bug 59095
- Remova UserParameterXMLParser que foi preterido há oito anos. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 59262
- Adiciona lista de jars binários a LICENSE; use isso para testes de unidade
Bug 59353
- Adicionar "Elementos obsoletos e removidos" na parte "Mudanças incompatíveis" em changes.xml. Contribuição de Antonio Gomes Rodrigues (ra0077 em gmail.com)
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Bug 57806
- o tipo mime " audio/x-mpegurl " é erroneamente considerado binário pelo ViewResultsTree. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com).
Bug 57858
- Não chame sampleEnd duas vezes em HTTPHC4Impl quando ocorre uma RuntimeException ou uma IOException no método de amostra.
Bug 57921
- HTTP/1.1 sem cabeçalho de resposta " Conexão " keep-alive não usa mais keep-alive infinito.
Bug 57956
- A referência hc.parameters em jmeter.properties não funciona quando JMeter não é iniciado em bin .
Bug 58137
- O JMeter falha ao baixar URLs incorporados que contêm caracteres ilegais no URL (não escapa deles).
Bug 58201
- Tornar o uso da porta no cabeçalho do host mais consistente entre os diferentes samplers http.
Bug 58453
- Gravador de script de teste HTTP: NullPointerException ao desabilitar os cabeçalhos HTTP de captura
Bug 57804
- HTTP Request não reutiliza o contexto SSL em cache ao usar certificados de cliente em HTTPS (apenas corrigido para implementação HttpClient4)
Bug 58800
-
valor padrão do proxy.pause : correção da documentação
Bug 58844
- Os botões habilitar/desabilitar estão quebrados no painel de argumentos. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58861
- Ao clicar em cima, baixo ou detalhe em uma célula do painel de argumentos, o conteúdo recém-adicionado é perdido. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 57935
- extensão SSL SNI não suportada pelo HttpClient 4.2.6
Bug 59044
-Http Sampler: Não deve ser possível selecionar a codificação multipart se o método não for POST . Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 59008
- Amostrador Http: SampleResult de recursão infinita no limite de profundidade do quadro atingido
Bug 58881
- Solicitação HTTP: HTTPHC4Impl mostra exceção quando o servidor usa compactação " deflate "
Bug 58583
- O cliente HTTP falha ao fechar a conexão se o servidor se comportar mal ao não enviar " connection: close ", violando HTTP RFC 2616 / RFC 7230
Bug 58950
-
NoHttpResponseException quando a pausa entre amostradores excede o Keepalive enviado pelo servidor
Bug 59085
- Painel de arquivos HTTP: dados perdidos no cancelamento de navegação. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 56141
- O aplicativo não se comporta corretamente ao usar o HTTP Recorder. Com a ajuda de Dan (java.junkee em yahoo.com)
Bug 59079
- a propriedade " httpsampler.max_redirects " não é aplicada quando " Redirecionar automaticamente " é usado
Bug 58811
- Ao colar argumentos entre samplers http as colunas "Encode" e "Include Equals" são perdidas. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Outros Amostradores
Bug 58013
- Habilite todos os protocolos habilitados no SSLContext padrão para uso com o SMTP Sampler.
Bug 58209
- JMeter trava ao testar javasampler porque HashMap.put() é chamado de vários threads sem sincronização.
Bug 58301
- Use métodos tipados como setInt , setDouble , setDate , … para a instrução preparada #27
Bug 58851
- Adicionar uma dependência no hamcrest-core para permitir que testes JUnit com anotações funcionem
Bug 58947
- A métrica de conexão está errada quando ocorre ConnectException
Bug 58980
- O Assinante JMS retornará com sucesso desde que 1 mensagem seja recebida. Contribuição de Harrison Termotto (harrison dot termotto em stonybrook.edu)
Bug 59075
- JMS Publisher: NumberFormatException é lançado se o campo de prioridade ou expiração estiver vazio
Bug 59345
- Vazamento de conexão SMTPSampler. Baseado em um patch de Luca Maragnani (luca dot maragnani at gmail dot com)
Controladores
Bug 58600
- Exibe nomes de arquivos corretos, quando eles são pesquisados por IncludeController
Bug 58678
- Módulo Controlador: limita a seleção do elemento alvo. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58714
- Módulo controlador: não deveria ser possível adicionar um timer como filho. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 59067
- O JMeter falha ao iterar sobre Controllers que são filhos de um TransactionController tendo " Gerar amostra pai " marcado após um erro de afirmação ocorrer em um Grupo de Threads com " Iniciar Next Thread Loop ". Contribuição de Benoit Wiart(benoit dot wiart em gmail.com)
Bug 59076
- O teste deve falhar se um controlador de módulo não puder encontrar sua subárvore de substituição
Ouvintes
Bug 58033
- SampleResultConverter deve observar que não pode gravar dados não TEXT
Bug 58845
- A visualização http da solicitação não exibe todos os parâmetros. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58413
- ViewResultsTree: Renderizador HTTP de solicitação não mostra corretamente os parâmetros que contêm e comercial (&). Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 59172
- SampleResult SaveConfig não permite que alguns campos sejam desabilitados
Bug 58329
- Gráfico de tempo de resposta e gráfico agregado: Salvar gráfico em arquivo não leva em consideração as configurações alteradas desde o último clique em Gráfico. Contribuição de David Coppens (dlcoppens em gmail.com)
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 58079
- Não armazene em cache amostras HTTP que tenham um cabeçalho Vary ao usar um HTTP CacheManager.
Bug 58912
- Gui de declaração de resposta: Excluir mais de 1 linha selecionada exclui apenas uma linha. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Funções
Bug 57825
- A função __Random falha se o valor mínimo for igual ao valor máximo (regressão relacionada ao
Bug 54453 )
I18N
Em geral
Bug 54826
- Não falhe em strings longas em respostas JSON ao exibi-las como JSON na View Results Tree.
Bug 57734
- As dependências transitórias do Maven estão incorretas para 2.13 (IDs de grupo fixos para Commons Pool e Math)
Bug 57731
-
TESTSTART.MS tem sempre o valor do primeiro Teste iniciado no modo Servidor em Teste distribuído NÃO GUI
Bug 58016
- Erro de conversão de tipo usando Provedor SSL externo. Contribuição de Kirill Yankov (myworkpostbox em gmail.com)
Bug 58293
- O navegador de arquivos SOAP/XML-RPC Sampler gera NullPointerException
Bug 58685
- JDatefield : Faça a modificação da data com seta para cima/baixo funcionar. Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 58693
- Corrigido "Não é possível aninhar a pasta de saída 'jmeter/build/components' dentro da pasta de saída 'jmeter/build'" ao configurar o Eclipse
Bug 58781
- A opção de linha de comando " -? " mostra a opção Desconhecida
Bug 57821
- A opção de linha de comando " -X --remoteexit " não funciona desde 2.13 (regressão relacionada ao
Bug 57500 )
Bug 58795
- NPE pode ocorrer em GuiPackage #getTestElementCheckSum com alguns plugins de terceiros
Bug 58913
- Ao fechar o JMeter não deve interpretar cancelar como " destruir meu plano de teste ". Contribuição de Benoit Wiart (benoit dot wiart em gmail.com)
Bug 59096
- Recurso de pesquisa: a pesquisa que não diferencia maiúsculas de minúsculas não diferencia maiúsculas de minúsculas
Bug 59193
-
ant run_gui falha com ClassNotFoundException ou IllegalAccessError ao acessar classes de dependências não carregadas através de Thread.currentThread().getContextClassLoader()
Bug 59225
- Exibição incorreta do ícone do indicador de execução. Contribuição de Antonio Gomes Rodrigues (ra0077 em gmail.com)
Bug 56927
- Desabilitar mudança de idioma durante um teste
Bug 59391
- No modo Distribuído, o cliente sai de forma anormal no final do teste
Bug 59397
-
build.xml não torna o dist.executables executável em sistemas Unix
Obrigado
Agradecemos a todos os contribuidores mencionados nas seções de bugs e melhorias acima:
Florent Sabbe (f ponto sabbe em ubik-ingenierie.com)
Antonio Gomes Rodrigues (ra0077 em gmail.com)
Harrison Termotto (harrison dot termotto em stonybrook.edu
Denis Kirpichenkov (denis.kirpichenkov em gmail.com)
Gary Gregory (ggregory em apache.org)
David Coppens (dlcoppens em gmail.com)
Luca Maragnani (luca dot maragnani at gmail dot com)
Philip Helger (http://www.helger.com) por seu CSS Parser e por levar em conta nossos relatórios de bugs muito rapidamente
Irek Pastusiak (the.automatic.tester em gmail.com)
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Para esta versão, queremos agradecer especialmente aos seguintes repórteres pelos relatórios claros e testes feitos após nossas correções:
purnasatyap no gmail dot com para os testes e relatórios sobre a compilação noturna
Sergey Batalin (sergey_batalin em mail dot ru) para os testes e relatórios sobre a compilação noturna
Vincent Daburon (vdaburon no gmail dot com) para os testes e relatórios sobre a compilação noturna
Desculpe se omitimos mais alguém.
Problemas conhecidos e soluções alternativas
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que há um bug no Java
em alguns sistemas Linux que se manifesta como o seguinte erro ao executar os casos de teste ou o próprio JMeter:
[java] AVISO: não foi possível liberar as preferências do usuário:
java.util.prefs.BackingStoreException:
java.lang.IllegalArgumentException: Não suportado: número de recuo
Isso não afeta a operação do JMeter. Esse problema foi corrigido desde o Java 7b05.
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Com o Oracle Java 7 e o Mac Book Pro Retina Display, a GUI do JMeter pode parecer embaçada. Este é um bug Java conhecido, veja Bug JDK-8000629 . Uma solução alternativa é usar um tempo de execução do Java 7 update 40 que corrige esse problema.
Você pode encontrar o seguinte erro:
java.security.cert.CertificateException: os certificados não estão em conformidade com as restrições do algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 7 versão u16 (MD2) e versão u40 (tamanho do certificado inferior a 1024 bits) e Java 8 também.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
No Mac OSX Aggregate Graph mostrará valores errados devido ao efeito de espelhamento nos números. Isso ocorre devido a um bug Java conhecido, veja Bug JDK-8065373
A correção é usar JDK7_u79, JDK8_u45 ou posterior.
A Árvore de Resultados da Visualização pode falhar ao exibir algum código HTML no renderizador HTML, consulte
o Bug 54586 . Isso se deve a um bug conhecido do Java que falha ao analisar unidades " px " em atributos de linha/coluna. Veja Bug JDK-8031109
A correção é usar JDK9 b65 ou posterior.
A seleção de JTable com teclado ( SHIFT + up/down ) é totalmente inutilizável com JAVA 7 no Mac OSX. Isso ocorre devido a um bug Java conhecido JDK-8025126
A correção é usar o JDK 8 b132 ou posterior.
Novo BackendListener Async com implementação Graphite
Um novo BackendListener Async foi adicionado para permitir o envio de dados de resultado para um ouvinte de back-end. O JMeter é fornecido com um GraphiteBackendListenerClient que permite enviar resultados para um servidor Graphite usando os protocolos Pickle ou Plaintext. Você pode implementar seu próprio backend estendendo AbstractBackendListenerClient . Este backend pode ser um banco de dados (JDBC), um Message Oriented Middleware (JMS), um Webservice ou qualquer coisa que você queira.
Este é o tipo de Live Dashboard que você pode obter usando Grafana e InfluxDB.
Leia isto para mais detalhes.
Painel Grafana
Melhorias principais
Nova métrica de tempo de conexão
A partir desta versão, uma nova métrica chamada connectTime foi adicionada. Representa o tempo para estabelecer a conexão. Por padrão, não é salvo em CSV ou XML, para salvá-lo adicione a user.properties:
jmeter.save.saveservice.connect_time=true
Gráfico e relatório agregados
Os ouvintes Gráfico Agregado e Relatório Agregado anteriormente mostravam apenas o percentil 90 (comportamento histórico), o percentil 95 e o percentil 99 foram adicionados e são personalizáveis. Para configurar o valor de percentis desejado, adicione a user.properties:
agregado_rpt_pct1=90
agregado_rpt_pct2=95
agregado_rpt_pct3=99
Gravador de script de teste HTTP(S)
Agora o componente é capaz de detectar esquemas de autenticação e adiciona automaticamente um Gerenciador de Autorização HTTP pré-configurado com o Mecanismo correto.
Solicitação HTTP
Os verbos CalDAV (extensões de calendário para WebDAV) REPORT e MKCALENDAR foram adicionados ao amostrador de solicitação HTTP.
Solicitação JDBC
O ResultSet pode ser obtido como um objeto, isso permite manipular mais facilmente os resultados depois em BeanShell, scripts JSR223, …
Teste distribuído
Para permitir um melhor uso do Teste Distribuído na nuvem, o comportamento de repetição foi adicionado ao iniciar o teste nos servidores. Leia isto para mais detalhes.
Desempenho de teste distribuído
Desde o JMeter 2.13, os modos Stripping (StrippingBatch sendo o modo padrão) agora também retiram as respostas dos SubResults, melhorando a largura de banda da rede consumida.
Atualização da documentação
Um novo estilo de site (responsivo e mais atualizado) foi criado por Felix Schumacher. As documentações foram atualizadas particularmente:
O controlador de módulo agora mostra o controlador de destino em uma exibição em árvore (em vez de uma lista de combinação).
Barra de ferramentas
A barra de ferramentas do JMeter foi atualizada para alguns ícones (iniciar, alternar, etc.). Três tamanhos estão agora disponíveis para os ícones: 22x22, 32x32 e 48x48.
A propriedade para definir seu tamanho preferido é:
jmeter.toolbar.icons.size=valor
com o valor 22x22 (tamanho padrão), 32x32 ou 48x48.
A barra de ferramentas com ícones de 22x22 pixels
A barra de ferramentas com ícones de 32x32 pixels
A barra de ferramentas com ícones de 48x48 pixels
Gravador de script de teste HTTP(S)
Se o seu Plano de Teste não contiver um Controlador de Gravação, uma nova mensagem de aviso aparecerá se o Gravador de Script de Teste HTTP(S) estiver configurado para enviar as amostras para um Controlador de Gravação.
Alterações incompatíveis
Desde 2.13, Gráfico Agregado, Relatório Resumido e Relatório Agregado agora exportam porcentagens para %, antes de exportarem o valor decimal que diferia do que era mostrado na GUI
Plugins de terceiros podem ser afetados pela correção do
Bug 57586 , certifique-se de que sua subclasse de HttpTestSampleGui implemente ItemListener se você confiou na classe pai fazendo isso.
O pacote de relatórios foi removido, o ApacheJMeter_report.jar não é mais gerado como consequência, veja o
Bug 57269
Melhorias
Amostradores HTTP e Gravador de Script de Teste
Bug 25430
- Gravador de script de teste HTTP(S): Faça-o preencher o Gerenciador de Autorização HTTP. Parcialmente baseado em um patch de Dzmitry Kashlach (dzmitrykashlach em gmail.com)
Bug 57381
- O Gravador de Script de Teste HTTP(S) deve exibir um erro se o Controlador de Destino fizer referência a um Controlador de Gravação e nenhum Controlador de Gravação existir. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 57488
- Desempenho: Melhore a redefinição de SSLContext para autenticação SSL bidirecional
Bug 57565
- SamplerCreator: Adicionar método para permitir que implementações adicionem filhos ao sampler criado
Bug 57606
- HTTPSamplerBase#errorResult altera o rótulo de amostra na exceção
Bug 57613
- Amostrador HTTP: Adicionados verbos CalDAV (REPORT, MKCALENDAR). Contribuição de Richard Brigham (richard.brigham em teamaol.com)
Bug 48799
- Adiciona tempo para estabelecer conexão com as métricas de amostra disponíveis. Implementado por Andrey Pokhilko (andrey em blazemeter.com) e contribuído por BlazeMeter Ltd. e Pieter Ennes (apache.org em spam.ennes.nl)
Bug 57500
- Introduzir o comportamento de repetição para testes distribuídos. Implementado por Andrey Pokhilko e Dzimitry Kashlach e contribuído por BlazeMeter Ltd.
Outros amostradores
Bug 57322
- Elementos de teste JDBC: adicione ResultHandler para lidar com ResultSets(cursores) retornados por instruções que podem ser chamadas. Contribuição de Yngvi Þór Sigurjónsson (blitzkopf em gmail.com)
Controladores
Bug 57561
- UI do controlador de módulo: Substitua a caixa de combinação por árvore. Contribuição de Maciej Franek (maciej.franek em gmail.com)
Bug 57648
- TestFragment deve ser desabilitado quando criado. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Ouvintes
Bug 55932
- Crie um BackendListener Async para permitir a fácil conexão de um novo listener (Graphite, JDBC, Console, …)
Bug 57246
- BackendListener: Crie uma implementação Graphite
Bug 57217
- Melhorias no gráfico agregado e no relatório agregado (3 percentis configuráveis, mesmos dados em ambos, fatoração do código). Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 57537
- BackendListener: permitir que implementações eliminem amostras
Temporizadores, asserções, configuração, pré e pós-processadores
Funções
Bug 54453
- Aprimoramentos de desempenho: Substitua Random por ThreadLocalRandom na função __Random
I18N
Em geral
Bug 57518
- Ícones para barra de ferramentas com vários tamanhos
Bug 57605
- Quando há um erro ao carregar o Plano de Teste, SaveService.loadTree retorna nulo levando a NPE em chamadores
Bug 57269
- Solte o pacote org.apache.jmeter.reports
Bug 57417
- Remova o método não utilizado isTemporary de NullProperty . Isso foi uma sobra de uma refatoração feita em 2003.
Bug 57418
- Remova o construtor não utilizado do Workbench
Bug 57419
- Remova a interface não utilizada ModelListener.
Bug 57466
- IncludeController : Remova uma criação de conjunto desnecessária. Contribuição de Benoit Wiart (benoit.wiart em gmail.com)
Adicionada propriedade loggerpanel.usejsyntaxtext para desabilitar o uso de JSyntaxTextArea para o Console Logger (em caso de memória ou outros problemas)
Bug 57586
- HttpTestSampleGui: Remover a implementação do ItemListener da interface
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Bug 57385
- Obtendo nome de thread vazio no resultado xml para solicitações HTTP com "Follow Redirects" definido. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 57579
- Erro NullPointerException é gerado na amostra principal se "RETURN_NO_SAMPLE" for usado (padrão) e "Usar Cache-Control / Expires header…" estiver marcado no HTTP Cache Manager
Outros Amostradores
Controladores
Bug 57447
- Use apenas os servidores DNS listados pelo usuário, quando a opção "usar resolvedor DNS personalizado" estiver habilitada.
Ouvintes
Bug 57262
- Exportação de relatório agregado, gráfico agregado e relatório de resumo: os cabeçalhos usam chaves em vez de rótulos
Bug 57346
- Summariser: Os relatórios + (diferença) mostram o tempo decorrido e a taxa de transferência incorretos
Bug 57449
- Teste Distribuído: Modos despojados não retiram respostas de SubResultados (afeta testes de carga que usam Download de recursos incorporados). Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 57562
- Ver árvore de resultados CSS/JQuery Tester : Nada acontece quando há um erro de sintaxe e ocorre uma exceção no jmeter.log
Bug 57514
- Gráfico Agregado, Relatório Resumido e Relatório Agregado mostram relatórios de porcentagem errados no arquivo salvo
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 57607
- Temporizador de taxa de transferência constante: taxa de transferência incorreta calculada em modos compartilhados devido a erro de arredondamento
Em geral
Bug 57365
- O LAF selecionado não está configurado corretamente devido à chamada de UIManager.setLookAndFeel muito tarde. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 57364
- Opções < Look And Feel não atualiza todas as janelas LAF. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 57394
- Ao construir uma instância com ClassTools#construct(String, int) o inteiro foi ignorado e o construtor padrão foi usado em seu lugar.
Bug 57440
- OutOfMemoryError após a introdução de JSyntaxTextArea no LoggerPanel devido ao disableUndo não ser levado em consideração.
Bug 57569
- FileServer.reserveFile - comportamento inconsistente quando hasHeader é verdadeiro
Bug 57555
- Não é possível usar o JMeter 2.12 como uma dependência do maven. Contribuição de Pascal Schumacher (pascal.schumacher em t-systems.com)
Bug 57608
- Corrige a compatibilidade do script de início com shells Unix antigos, por exemplo, no Solaris
Obrigado
Agradecemos a todos os contribuidores mencionados nas seções de bugs e melhorias acima:
Pascal Schumacher (pascal.schumacher em t-systems.com)
Maciej Franek (maciej.franek em gmail.com)
Richard Brigham (richard.brigham em teamaol.com)
Pieter Ennes (apache.org em spam.ennes.nl)
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Para esta versão, queremos agradecer especialmente aos seguintes repórteres pelos relatórios claros e testes feitos após nossas correções:
Chaitanya Bhatt (bhatt.chaitanya em gmail.com) por seus testes completos da nova implementação de BackendListener e Graphite Client.
Marcelo Jara (marcelojara em hotmail.com) por seu relato claro sobre
o Bug 57607 .
Desculpe se omitimos mais alguém.
Erros conhecidos
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que há um bug no Java
em alguns sistemas Linux que se manifesta como o seguinte erro ao executar os casos de teste ou o próprio JMeter:
[java] AVISO: não foi possível liberar as preferências do usuário:
java.util.prefs.BackingStoreException:
java.lang.IllegalArgumentException: Não suportado: número de recuo
Isso não afeta a operação do JMeter. Esse problema foi corrigido desde o Java 7b05.
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Com Java 1.6 e Gnome 3 em sistemas Linux, o menu JMeter pode não funcionar corretamente (alternar entre o clique do mouse e o menu). Este é um bug Java conhecido (veja
Bug 54477 ). Uma solução alternativa é usar um tempo de execução Java 7 (OpenJDK ou Oracle JDK).
Com o Oracle Java 7 e o Mac Book Pro Retina Display, a GUI do JMeter pode parecer embaçada. Este é um bug Java conhecido, veja Bug JDK-8000629 . Uma solução alternativa é usar um tempo de execução do Java 7 update 40 que corrige esse problema.
Você pode encontrar o seguinte erro: java.security.cert.CertificateException: Os certificados não estão em conformidade com as restrições de algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 7 versão u16 (MD2) e versão u40 (tamanho do certificado inferior a 1024 bits) e Java 8 também.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
O Critical Section Controller permite serializar a execução de uma seção em sua árvore. Apenas uma instância da seção será executada ao mesmo tempo durante o teste.
Gerenciador de cache DNS
O novo elemento de configuração DNS Cache Manager (veja
Bug 56841 ) melhora o teste de:
CDN (Rede de Entrega de Conteúdo)
Balanceamento de carga DNS.
Balanceadores de carga como o Amazon Elastic Load Balancer
Melhorias principais
Gravação mais inteligente de planos de teste HTTP
Test Script Recorder foi melhorado de várias maneiras
Melhor correspondência de variáveis em solicitações, fazendo com que o Test Script Recorder variabilize seu sampler durante a gravação mais versátil
Capacidade de filtrar da árvore de resultados de visualização as amostras que são excluídas da gravação, isso permite que você se concentre na análise de amostradores gravados e não se preocupe com resultados de amostra inúteis
Melhores padrões para gravação, já que esta versão Recorder irá numerar os Samplers criados permitindo que você os encontre com muita facilidade na View Results Tree. O agrupamento de Samplers sob o Transaction Controller será mais inteligente, fazendo com que todas as solicitações emitidas por uma página da Web sejam filhas como novo Transaction Controller
Suporte de solicitações Webdav
Agora você pode testar no servidor WebDav usando HttpClient4 Implementação de solicitação Http
Melhor manuseio de recursos incorporados
Quando o download de recursos incorporados está marcado, o JMeter agora usa o cabeçalho User Agent para baixar ou não recursos incorporados em comentários condicionais conforme Sobre comentários condicionais .
Capacidade de personalizar o gerenciamento de cache (simulação de cache do navegador) de recursos em cache
Agora você pode configurar o comportamento do JMeter quando um recurso é encontrado no Cache, isso pode ser controlado com a propriedade cache_manager.cached_resource_mode
Editor JMS / JMS Ponto a Ponto
Inclua os campos JMSPriority e JMSExpiration para esses amostradores.
Amostrador de Leitor de Correio
Agora você pode especificar o número de mensagens que deseja recuperar (antes de todas as mensagens serem recuperadas). Além disso, você pode buscar apenas o cabeçalho da mensagem agora.
Amostrador SMTP
Adicionando o tempo limite de conexão e o tempo limite de leitura ao amostrador SMTP.
Sincronizando Temporizador
Adicionando um tempo limite para definir o tempo máximo de espera do grupo de usuários virtuais.
Melhorias de desempenho
Uma grande melhoria no desempenho das Funções foi feita ao suspender a sincronização inútil. Diz respeito a todas as funções exceto __StringFromFile, __XPath e __BeanShell, veja
Bug 57114
__jexl2 desempenhos foram melhorados para evitar pontos de contenção, veja
Bug 56708
Melhorias na GUI
Suporte para desfazer/refazer
Desfazer/Refazer foi introduzido e permite ao usuário desfazer/refazer alterações feitas na Árvore do Plano de Testes. Este recurso (MODO ALPHA) está desabilitado por padrão, para habilitá-lo defina a propriedade undo.history.size=25
Ver árvore de resultados
Melhore a ergonomia da Árvore de Resultados da Visualização alterando o posicionamento dos Renderizadores e permitindo a ordenação personalizada (com a propriedade view.results.tree.renderers_order ).
Gráfico de tempo de resposta
Adicionando a capacidade do ouvinte do Response Time Graph para salvar/restaurar o formato de suas configurações no/do arquivo jmx.
Visualizador de registro
A partir desta versão, as últimas linhas do arquivo de log do JMeter (jmeter.log) podem ser visualizadas diretamente na GUI clicando no ícone Warning no canto superior direito. Isso abrirá o painel do Visualizador de logs e mostrará os logs.
Abertura de arquivo
Agora, "caixa de diálogo Abrir arquivo" usa a última pasta de arquivo aberta como pasta inicial, veja
Bug 52707
Erros conhecidos
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que há um bug no Java
em alguns sistemas Linux que se manifesta como o seguinte erro ao executar os casos de teste ou o próprio JMeter:
[java] AVISO: não foi possível liberar as preferências do usuário:
java.util.prefs.BackingStoreException:
java.lang.IllegalArgumentException: Não suportado: número de recuo
Isso não afeta a operação do JMeter. Esse problema foi corrigido desde o Java 7b05.
Observe que em alguns sistemas Windows você pode ter este AVISO:
java.util.prefs.WindowsPreferences
AVISO: Não foi possível abrir/criar o nó raiz de prefs Software\JavaSoft\Prefs na raiz 0
x80000002. O Windows RegCreateKeyEx(…) retornou o código de erro 5.
A correção é executar o JMeter como Administrador, ele criará a chave de registro para você, então você poderá reiniciar o JMeter como um usuário normal e não terá mais o aviso.
Com Java 1.6 e Gnome 3 em sistemas Linux, o menu JMeter pode não funcionar corretamente (alternar entre o clique do mouse e o menu). Este é um bug Java conhecido (veja
Bug 54477 ). Uma solução alternativa é usar um tempo de execução Java 7 (OpenJDK ou Oracle JDK).
Com o Oracle Java 7 e o Mac Book Pro Retina Display, a GUI do JMeter pode parecer embaçada. Este é um bug Java conhecido, veja Bug JDK-8000629 . Uma solução alternativa é usar um tempo de execução do Java 7 update 40 que corrige esse problema.
Você pode encontrar o seguinte erro: java.security.cert.CertificateException: Os certificados não estão em conformidade com as restrições de algoritmo
se você executar uma solicitação HTTPS em um site com um certificado SSL (próprio ou um dos certificados SSL em sua cadeia de confiança) com um algoritmo de assinatura usando MD2 (como md2WithRSAEncryption) ou com um certificado SSL com tamanho inferior a 1024 bits. Este erro está relacionado ao aumento da segurança no Java 7 versão u16 (MD2) e versão u40 (tamanho do certificado inferior a 1024 bits) e Java 8 também.
Para permitir que você execute sua solicitação HTTPS, você pode fazer downgrade da segurança de sua instalação Java editando a propriedade Java jdk.certpath.disabledAlgorithms . Remova o valor MD2 ou a restrição de tamanho, dependendo do seu caso.
Esta propriedade está neste arquivo:
Desde o JMeter 2.12, os encadeamentos ativos em todos os grupos de encadeamentos e os encadeamentos ativos no grupo de encadeamentos atual são salvos por padrão em resultados CSV ou XML, consulte
Bug 57025 . Geralmente, esse é o comportamento esperado, pois você deseja ter o número de threads em execução durante o teste. Mas se você quiser reverter para o comportamento anterior, defina a propriedade jmeter.save.saveservice.thread_counts=false
Desde o JMeter 2.12, o Mail Reader Sampler mostrará 1 para o número de amostras em vez do número de mensagens recuperadas, veja
Bug 56539
Desde o JMeter 2.12, ao usar o Cache Manager, se o recurso for encontrado no cache nenhum SampleResult será criado, na versão anterior era retornado um SampleResult com conteúdo vazio e código de retorno 204, veja
Bug 54778 . Você pode escolher entre diferentes maneiras de lidar com este caso, veja cache_manager.cached_resource_mode em jmeter.properties .
Desde o JMeter 2.12, o Log Viewer não limpará mais os logs quando fechado e terá logs disponíveis mesmo se fechado. Veja
Bug 56920 . Leia Dicas e sugestões > Ativando o log de depuração
para obter detalhes sobre como configurar este componente.
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Bug 55998 - Gravação HTTP – Substituir o valor da porta pela variável definida pelo usuário não funciona
Bug 56178 - erro de keytool: caractere de escape inválido no AVA: - alguns caracteres devem ser escapados
Bug 56222 - NPE se jmeter.httpclient.strict_rfc2616=true e a localização não for absoluta
Bug 56263 - DefaultSamplerCreator deve definir BrowserCompatible Multipart true
Bug 56231 - Mover o processamento de localização de redirecionamento de amostradores HC3/HC4 para HTTPSamplerBase#followRedirects()
Bug 56207 - URLs são codificados em redirecionamentos em amostradores HC3.1 e HC4
Bug 56303 - A largura da lista de combinação do controlador de destino deve ser definida para o tamanho atual do painel, não no tamanho da etiqueta dos controladores
Bug 54778 - O HTTP Sampler não deve retornar 204 quando o recurso for encontrado no Cache, torne-o configurável com a nova propriedade cache_manager.cached_resource_mode
Outros Amostradores
Bug 55977 - Inundação de manutenção de atividade do pool JDBC
Bug 55999 - A barra de rolagem no amostrador ponto a ponto jms não funciona quando o conteúdo excede a exibição
Bug 56198 - JMSSampler: NullPointerException é lançado quando a implementação subjacente de JNDI do provedor JMS não está em conformidade com o contrato Context.getEnvironment
Bug 56428 - MailReaderSampler - deve usar as propriedades mail.pop3s.*?
Bug 46932 - Alias fornecido na instrução select não é usado como cabeçalho de coluna em dados de resposta para uma solicitação JDBC. Baseado em relatório e análise de Nicola Ambrosetti
Bug 56539 - Amostrador do leitor de correio: Quando o número de mensagens a serem recuperadas é superior a 1, o número de amostras deve mostrar apenas 1 e não o número de mensagens recuperadas
Bug 56809 - JMSSampler fecha InitialContext muito cedo. Contribuição de Bradford Hovinen (hovinen em gmail.com)
Bug 56761 - JMeter tenta parar a conexão JMS já interrompida e exibe "A conexão está fechada"
Bug 57068 - Nenhum erro gerado quando a duração negativa é inserida na ação de teste
Bug 57078 - LagartoBasedHTMLParser falha ao analisar a página que contém entrada sem tipo
Bug 57183 - JMSSampler: Para string de entrada: "" java.lang.NumberFormatException (para campos Expiration ou Priority)
Controladores
Bug 56243 - Foreach funciona incorretamente com índices em iterações subsequentes
Bug 56276 - O controlador de loop é interrompido quando a contagem de loop é avaliada como zero
Bug 56160 - StackOverflowError ao usar WhileController dentro de IfController
Bug 56811 - "Start Next Thread Loop" no Result Status Action Handler ou no Thread Group e "Go to next Loop iteration" na Test Action se comportam incorretamente com TransactionController que tem "Generate Parent Sampler" marcado
Ouvintes
Bug 56706 - SampleResult#getResponseDataAsString() não usa codificação no corpo da resposta impactando PostProcessors e ViewResultsTree. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 57052 - ArithmeticException: / por zero quando sampleCount é igual a 0
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 56162 - Gerenciador de cache HTTP não deve armazenar em cache PUT/POST etc.
Bug 56227 - AssertionGUI: NPE na afirmação na seleção do mouse
Bug 41319 - URLRewritingModifier: permitir que o valor do parâmetro seja codificado em URL
Funções
I18N
Bug 56111 - "comentários" na tradução alemã não está correto
Em geral
Bug 56059 - TestBeans mais antigo incompatível com 2.11 ao usar TextAreaEditor
Bug 56080 - Erro de conversão com.thoughtworks.xstream.converters.ConversionException com Java 8 Early Access Build
Bug 56182 - Não é possível acionar o script bsh usando bshclient.jar; soquete é fechado inesperadamente
Bug 56360 - HashTree e ListedHashTree falham ao compilar com Java 8
Bug 56419 - JMeter falha silenciosamente ao salvar resultados
Bug 56662 - Salvar como xml em um listener não é lembrado
Bug 56367 - JMeter 2.11 no maven central aciona uma dependência não existente rsyntaxtextarea 2.5.1, atualize para 2.5.3
Bug 56743 - Arquivos de lista de discussão errados em mail2.xml. Contribuição de Felix Schumacher (felix.schumacher em internetallee.de)
Bug 56763 - Removendo os ícones do Oracle, não usados pelo JMeter (e faltando licença)
Bug 54100 - A troca de idiomas não preserva os estados dos botões da barra de ferramentas (ativado/desativado)
Bug 54648 - A GUI do JMeter no OS X trava ao usar CMD+C (atalho de teclado ou entrada de menu da interface do usuário) em um elemento da árvore
Bug 56962 - GUIs JMS devem desabilitar todos os campos afetados pela caixa de seleção jndi.properties
Bug 57061 - Salvar como Fragmento de Teste falha ao clonar o nó profundamente selecionado. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 57075 - O atributo BeanInfoSupport.MULTILINE não é processado
Bug 57076 - BooleanPropertyEditor#getAsText() deve retornar um valor que esteja em getTags()
Bug 55959 - Melhora a mensagem de erro quando o Gravador de Script de Teste falha devido a um problema de E/S
Bug 52013 - A Árvore de Resultados da Visualização Filho do Gravador de Script de Teste não leva em consideração os URLs excluídos/incluídos do Gravador de Script de Teste. Baseado no relatório e análise de James Liang
Bug 56119 - Os uploads de arquivos falham em todas as outras tentativas usando temporizadores. Habilite tempos limite ociosos para servidores que não enviam cabeçalhos Keep-Alive.
Bug 56272 - MirrorServer deve suportar parâmetros de consulta para status e redirecionamentos
Bug 56772 - Manipular comentários condicionais do IE ao analisar recursos incorporados
Bug 57026 - Gravador de script de teste HTTP(S): Melhores configurações padrão. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 57107 - Proposta de patch: Adicionar verbos DAV ao HTTP Sampler. Contribuição de Philippe Jung (apache em famille-jung.fr)
Bug 56357 - Os certificados não estão em conformidade com as restrições do algoritmo: Adicionando uma nota para indicar como remover da instalação do Java essas novas restrições de segurança
Outros amostradores
Bug 56033 - Adicionar tempo limite de conexão e tempo limite de leitura ao amostrador SMTP
Bug 56429 - MailReaderSampler - não há necessidade de buscar todas as mensagens se nem todas forem desejadas
Bug 56427 - Aprimoramento MailReaderSampler: leia apenas o cabeçalho da mensagem
Bug 56510 - JMS Publisher/Point to Point: Adicionar JMSPriority e JMSExpiration
Controladores
Bug 56728 - Novo Controlador de Seção Crítica para serializar blocos de um Teste. Baseado em parte em um patch contribuído por Mikhail Epikhin (epihin-m em yandex.ru)
Bug 57145 - RandomController: Use ThreadLocalRandom em vez de Random para melhores desempenhos
Ouvintes
Bug 56228 - Exibir árvore de resultados: Melhore a ergonomia alterando o posicionamento dos renderizadores e permitindo a ordenação personalizada
Bug 56349 - "resumo" é um nome ruim para um componente Gerar resultados de resumo, documentação esclarecida
Bug 56769 - Adiciona a capacidade do ouvinte do Response Time Graph para salvar/restaurar configurações de formato no/do arquivo jmx
Bug 57025 - SaveService: Melhores padrões, salve a contagem de threads por padrão
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 56691 - Sincronizando Timer: Adicione tempo limite na espera
Bug 56701 - Gerenciador de Autorização HTTP/ Autenticação Kerberos: adiciona porta ao SPN quando a porta do servidor não é 80 nem 443. Baseado em patches de Dan Haughey (dan.haughey em swinton.co.uk) e Felix Schumacher (felix.schumacher em internetallee. de)
Bug 56841 - Novo elemento de configuração: DNS Cache Manager para melhorar o teste de CDN. Baseado no patch de Dzmitry Kashlach (dzmitrykashlach em gmail.com), e contribuído por BlazeMeter Ltd.
Bug 52061 - Permitir acesso aos cabeçalhos de solicitação no Regex Extractor. Baseado no patch de Dzmitry Kashlach (dzmitrykashlach em gmail.com), e contribuído por BlazeMeter Ltd.
Funções
Bug 56708 - __jexl2 não escala com vários núcleos de CPU. Com base na análise e patch contribuído por Mikhail Epikhin (epihin-m em yandex.ru)
Bug 57114 - Desempenho: Funções que possuem apenas valores como variável de instância não devem sincronizar a execução. Com base na análise do suporte do Ubik Load Pack e Vladimir Sitnikov, patch contribuído por Vladimir Sitnikov (sitnikov.vladimir em gmail.com)
I18N
Em geral
Bug 21695 - O script de início do jmeter Unix assume que está no PATH, não em um link
Bug 56292 - Adiciona a verificação da versão do Java nos arquivos de inicialização e desabilita algumas opções quando é o motor Java v8
Bug 56298 - A exibição do idioma JSR223 não mostra qual mecanismo será usado
Bug 56455 - Arquivos em lote: descarte o suporte para scripts de shell do Windows não NT
Bug 52707 - A caixa de diálogo Criar arquivo aberto usa a última pasta de arquivo aberta como pasta inicial. Baseado no patch de Dzmitry Kashlach (dzmitrykashlach em gmail.com), e contribuído por BlazeMeter Ltd.
Bug 56807 - Capacidade de forçar a liberação do arquivo ResultCollector. Contribuição de Andrey Pohilko (apc4 em ya.ru)
Bug 56921 - Modelos: Melhore o modelo de Gravação para ignorar o caso de recursos incorporados e os parâmetros de URL. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 42248 - Suporte a desfazer-refazer na modificação da árvore do Plano de Teste. Desenvolvido por Andrey Pohilko (apc4 em ya.ru) e contribuído por BlazeMeter Ltd. Contribuição adicional de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 56920 - LogViewer : Faz com que receba todos os eventos de log mesmo quando estiver fechado. Contribuição de Ubik Load Pack (suporte em ubikloadpack.com)
Bug 57083 - simplificou a enumeração CachedResourceMode. Contribuição de Graham Russel (graham em ham1.co.uk)
Bug 57082 - ComboStringEditor: Adicionado hashCode a uma classe interna que sobrescreveu igual. Contribuição de Graham Russel (graham em ham1.co.uk)
Bug 57081 - Atualizando estilo de verificação para verificar apenas guias em arquivos java, xml, xsd, dtd, htm, html e txt (não imagens!). Contribuição de Graham Russell (graham em ham1.co.uk)
Bug 56178 - Substitua realmente as barras invertidas no nome de usuário antes de gerar o certificado de proxy. Contribuição de Graham Russel (graham em ham1.co.uk)
Bug 57084 - Fecha o soquete após o uso no BeanShellClient. Contribuição de Graham Russel (graham em ham1.co.uk)
Alterações não funcionais
Bug 57117 - Aumente a cifra padrão para HTTPS Test Script Recorder de SSLv3 para TLS
Atualizado para commons-lang3 3.3.2 (de 3.1)
Atualizado para commons-codec 1.9 (de 1.8)
Atualizado para commons-logging 1.2 (de 1.1.3)
Atualizado para tika 1.6 (de 1.4)
Atualizado para xercesImpl 2.11.0 (de 2.9.1)
Atualizado para xml-apis 1.4.01 (de 1.3.04)
Atualizado para xstream 1.4.8 (de 1.4.4)
Atualizado para jodd 3.6.1 (de 3.4.10)
Atualizado para rsyntaxtextarea 2.5.3 (de 2.5.1)
Xalan e serializador atualizados para 2.7.2 (de 2.7.1)
Atualizado para jsoup-1.8.1.jar (de 1.7.3)
Obrigado
Agradecemos a todos os contribuidores mencionados nas seções de bugs e melhorias acima:
James Liang (jliang em andera.com)
Emmanuel Bourg (ebourg em apache.org)
Nicola Ambrosetti (ambrosetti.nicola em gmail.com)
Vladimir Sitnikov (sitnikov.vladimir em gmail.com)
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Para esta versão, queremos agradecer especialmente aos seguintes repórteres pelos relatórios claros e testes feitos após nossas correções:
Oliver LLoyd (e-mail em oliverlloyd.com) por sua ajuda no
Bug 56119
Vladimir Ryabtsev (greatvovan em gmail.com) por sua ajuda no
Bug 56243 e
Bug 56276
Adrian Speteanu (asp.adieu em gmail.com) e Matt Kilbride (matt.kilbride em gmail.com) por seus comentários e testes no
Bug 54648
Shmuel Krakower (shmulikk em gmail.com) por seus testes e relatórios sobre o recurso Desfazer/Refazer
As seguintes melhorias foram feitas desde as principais alterações introduzidas no JMeter 2.10 no HTTP(S) Test Script Recorder:
Melhor detecção de configuração ausente ou inválida do utilitário keytool
A nova propriedade do sistema keytool.directory (consulte system.properties ) permite configurar o diretório contendo keytool no caso de instalação não padrão
JMS Publisher/Point to Point : Adicione a capacidade de definir valores digitados nas propriedades do cabeçalho JMS
Nos amostradores JMS Publisher e JMS Point-to-Point, agora é possível configurar a classe de valores para as propriedades do cabeçalho JMS. Anteriormente, apenas String era possível.
Exibir árvore de resultados: Adicionar um testador XPath
No ouvinte Exibir Árvore de Resultados, um novo testador XPath pode ser usado para testar expressões XPATH.
Capacidade de escolher o alias do cliente para a chave de certificação no JsseSslManager, de modo que o teste de autenticação SSL mútuo possa ser mais flexível
Ao testar autenticações de certificado baseadas em cliente, você agora tem melhor controle sobre o certificado que usa por meio de um novo campo "Nome de variável contendo alias de certificado", este campo permite selecionar o certificado que deseja enviar ao servidor para autenticação. Você pode usar um conjunto de dados CSV como detentor do valor da variável.
Adicione uma opção "Salvar como fragmento de teste"
No menu arquivo, uma nova opção permite salvar um grupo de elementos como um fragmento de teste.
O Summariser está ativado por padrão no modo Non GUI
Ao executar o JMeter a partir da linha de comandos, agora o JMeter exibe algumas estatísticas do modo Summariser.
Controlador de Transação: Altere a propriedade padrão "Incluir duração do temporizador…" para o elemento recém-criado
A partir da versão 2.11, o Transaction Controller é configurado por padrão para excluir o tempo de processamento de pré/pós processadores enquanto os temporizadores pausarem.
Erros conhecidos
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os ouvintes não mostram contagens de iteração quando um If Controller tem uma condição que é sempre falsa desde a primeira iteração (consulte
Bug 52496 ). Uma solução é adicionar um amostrador no mesmo nível (ou superior) do controlador If. Por exemplo, um amostrador de ação de teste com 0 tempo de espera (que não gera uma amostra) ou um amostrador de depuração com todos os campos definidos como False (para reduzir o tamanho da amostra).
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, o número total de threads se aplica apenas a um teste executado localmente, caso contrário, mostrará 0 (consulte
o Bug 55510 ).
Observe que há um bug no Java
em alguns sistemas Linux que se manifesta como o seguinte erro ao executar os casos de teste ou o próprio JMeter:
[java] AVISO: não foi possível liberar as preferências do usuário:
java.util.prefs.BackingStoreException:
java.lang.IllegalArgumentException: Não suportado: número de recuo
Isso não afeta a operação do JMeter. Esse problema foi corrigido desde o Java 7b05.
Com Java 1.6 e Gnome 3 em sistemas Linux, o menu JMeter pode não funcionar corretamente (alternar entre o clique do mouse e o menu). Este é um bug Java conhecido (veja
Bug 54477 ). Uma solução alternativa é usar um tempo de execução Java 7 (OpenJDK ou Oracle JDK).
Com o Oracle Java 7 e o Mac Book Pro Retina Display, a GUI do JMeter pode parecer embaçada. Este é um bug Java conhecido, veja Bug JDK-8000629 . Uma solução alternativa é usar um tempo de execução do Java 7 update 40 que corrige esse problema.
Alterações incompatíveis
Ao criar um novo Controlador de Transação, a propriedade "Incluir duração do temporizador e pré-pós processadores na amostra gerada" será desmarcada a partir da versão 2.11
No modo Non GUI, uma vez que o sumarizador 2.11 está habilitado com uma frequência de 30 segundos
O JMeter é mais tolerante com o manuseio de redirecionamento e relaxa no RFC2616, permitindo locais relativos. Veja a propriedade " jmeter.httpclient.strict_rfc2616 " em jmeter.properties para alterar este comportamento, veja
o Bug 55717
Ao criar uma nova Asserção de Resposta, a propriedade "Regras de Correspondência de Padrão" agora assume como padrão Substring a partir da versão 2.11
Correções de bugs
Amostradores HTTP e Gravador de Script de Teste
Bug 55815 - Proxy#getDomainMatch não lida com curingas corretamente
Bug 55717 - Tratamento incorreto de redirecionamento quando URLs estão em formato relativo por HttpClient4 e HttpClient3.1
Outros Amostradores
Bug 55685 - OS Sampler: opção de tempo limite não salva e restaura corretamente o valor e não inicializa corretamente o tempo limite
Controladores
Bug 55816 - Controlador de transação com "Incluir duração do temporizador…" desmarcado não ignora o tempo de processamento do último amostrador filho
Ouvintes
Bug 55826 - Acessos simultâneos não sincronizados à lista no campo RespTimeGraphVisualizer.internalList
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 55694 - Assertions and Extractors: Evite NullPointerException quando o escopo for variável e a variável estiver ausente
Bug 55721 - Gerenciador de cache HTTP - a diretiva no-store é interpretada incorretamente
Funções
Bug 55871 - Resultado errado com a função intSum() quando um caractere de espaço está presente antes/depois do número. Contribuição de Milamber com base em uma proposta de James Liang.
I18N
Em geral
Bug 55739 - Teste remoto: o total de threads no modo GUI mostra o número total de threads inválido
Melhorias
Amostradores e proxy HTTP
Outros amostradores
Bug 55589 - Publicador JMS/Ponto a Ponto: Adicionada a capacidade de definir valores digitados nas propriedades do cabeçalho JMS.
Controladores
Bug 55854 - Controlador de Transação: Altere a propriedade padrão "Incluir duração do temporizador…" para o elemento recém-criado
Ouvintes
Bug 55610 - Exibir árvore de resultados: adicionar um testador XPath
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 55908 - Asserção de resposta: Alterar o padrão de regras de correspondência de padrões para Substring na criação para melhores desempenhos
Bug 54977 - Capacidade de escolher o alias do cliente para a chave de certificação no JsseSslManager, de modo que o teste de autenticação SSL mútuo possa ser mais flexível. Contribuição do UBIK Load Pack (suporte em ubikloadpack.com)
Funções
I18N
Em geral
Bug 55693 - Adicionar uma opção "Salvar como fragmento de teste"
Bug 55753 - Melhorar o comportamento do FilePanel para iniciar a partir do valor definido no campo Nome do arquivo, se houver. Contribuição do UBIK Load Pack (suporte em ubikloadpack.com)
Bug 55756 - HTTP Mirror Server: Adicione a capacidade de definir cabeçalhos
Bug 55852 - Seja mais tolerante na análise quando o valor do charset estiver entre aspas simples
Bug 55857 - Desempenho: AbstractProperty deve testar a vacuidade para evitar o lançamento de exceção
Bug 55858 - Desempenho de inicialização: Na inicialização, BeanInfoSupport deve testar a disponibilidade de chave em vez de lançar
Bug 55865 - Desempenho: Desativar verificação obsoleta por padrão no HttpClient 4 e 3.1
Bug 55512 - Summariser deve ser ativado por padrão no modo Non GUI
Alterações não funcionais
Atualizado para rsyntaxtextarea-2.5.1.jar (de 2.5.0)
Atualizado para jodd-core-3.4.9.jar de (3.4.8) e jodd-lagarto-3.4.9.jar (de 3.4.9)
Atualizado para jsoup-1.7.3.jar (de 1.7.2)
Atualizado para mail-1.5.0-b01 (de 1.4.4)
Atualizado para mongo-java-driver-2.11.3 (de 2.11.2)
Obrigado
Agradecemos a todos os contribuidores mencionados nas seções de bugs e melhorias acima:
James Liang (jliang em andera.com)
UBIK Load Pack (suporte em ubikloadpack.com)
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Para esta versão, queremos agradecer especialmente aos seguintes repórteres pelos relatórios claros e testes feitos após nossas correções:
Uma grande melhoria de desempenho foi feita em testes de alta taxa de transferência (sem pausa), consulte
Bug 54777
Foi corrigido um problema com a redefinição de contexto SSL desnecessária que melhora o desempenho de testes HTTP puros, consulte
Bug 55023
Melhoria de desempenho importante na análise de recursos Embedded em páginas HTML graças a uma mudança para JODD/Lagarto HTML Parser, veja
Bug 55632
Novo testador CSS/JQuery na visualização de resultados da árvore
Um novo CSS/JQuery Tester na View Tree Results que torna o CSS/JQuery Extractor um cidadão de primeira classe no JMeter, agora você pode testar suas expressões com muita facilidade
Muitas melhorias na gravação HTTP(S) foram feitas
O elemento de teste "HTTP Proxy Server" foi renomeado como "HTTP(S) Test Script Recorder".
Melhor gravação de sites HTTPS, recursos incorporados usando subdomínios serão gravados mais facilmente ao usar o JDK 7. Consulte
Bug 55507 . Consulte a documentação atualizada: Gravador de script de teste HTTP(S)
O redirecionamento agora é detectado de forma mais inteligente pelo HTTP Proxy Server, consulte
o Bug 55531
Agora você pode carregar o MongoDB de teste por meio do novo MongoDB Source Config
A autenticação Kerberos foi adicionada ao Auth Manager
O dispositivo agora pode ser usado além do endereço IP de origem
Agora você pode fazer testes funcionais de scripts MongoDB por meio do novo MongoDB Script
O tempo limite foi adicionado ao SO Process Sampler
O tempo limite da consulta foi adicionado à solicitação JDBC
Novas funções (__urlencode e __urldecode) agora estão disponíveis para codificar/decodificar caracteres codificados em URL
A Integração Contínua agora é facilitada pela adição de um novo sinalizador que força a JVM NON-GUI a sair após o término do teste
Veja a propriedade jmeter:
jmeterengine.force.system.exit
HttpSampler agora permite DELETE Http Method ter um corpo (funciona para implementações HC4 e HC31). Isso permite, por exemplo, testar APIs do Elastic Search
2 implementações de HtmlParser foram adicionadas para melhorar a análise de recursos incorporados
Você pode escolher a implementação a ser usada para analisar recursos incorporados em páginas HTML: Consulte jmeter.properties e observe a propriedade "htmlParser.className".
org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser para desempenho ideal
org.apache.jmeter.protocol.http.parser.JSoupBasedHtmlParser para análise mais precisa e testes funcionais
O teste distribuído foi aprimorado
O número de threads em cada nó agora é relatado ao controlador.
Melhoria de desempenho em BatchSampleSender(
Bug 55423 )
Adição de 2 modos SampleSender (StrippedAsynch e StrippedDiskStore), consulte jmeter.properties
O ModuleController foi aprimorado para lidar melhor com as alterações nos controladores referenciados
Configuração aprimorada do carregador de classes, consulte
Bug 55503
Nova propriedade "plugin_dependency_paths" para dependências de plugins
Propriedades "search_paths", "user.classpath" e "plugin_dependency_paths" agora adicionam automaticamente todos os jars dos diretórios configurados
A seção de práticas recomendadas foi aprimorada, certifique-se de lê-la para aproveitar ao máximo o JMeter
Novo recurso de modelos que permite criar um plano de teste a partir de um modelo existente ou mesclar modelo em seu plano de teste
Workbench agora pode ser salvo
A cor da sintaxe foi adicionada aos elementos de scripts (BeanShell, BSF e JSR223), elementos MongoDB e JDBC tornando o código muito mais legível e permitindo UNDO/REDO através de CTRL+Z/CTRL+Y
Amostrador BSF com cor de sintaxe
Pré-processador JSR223 com cor de sintaxe
Editores melhores agora estão disponíveis para elementos de teste com conteúdo de texto grande, como HTTP Sampler e elemento de teste relacionado a JMS, fornecendo numeração de linha e permitindo UNDO/REDO por meio de CTRL+Z/CTRL+Y
A GUI do JMeter agora pode ser totalmente internacionalizada, todos os problemas restantes foram corrigidos
Atualmente o francês tem todos os seus rótulos traduzidos. Outros idiomas são parcialmente traduzidos, sinta-se à vontade para contribuir com traduções lendo Localização (Guia do Tradutor)
A movimentação de elementos no plano de teste foi aprimorada de várias maneiras
Arrastar e soltar elementos na árvore do Plano de Teste agora é muito mais fácil e possível em vários nós
Observe que devido a esse bug no Java , você não pode descartar um nó após o último nó. A solução é soltá-lo antes deste último nó e, em seguida, arrastar e soltar o último nó antes do que você acabou de soltar.
Novos atalhos foram adicionados para mover elementos na árvore.
(alt + seta para cima) e (alt + seta para baixo) movem o elemento dentro do nó pai
(alt + seta para a esquerda) e (alt + seta para a direita) movem o elemento para cima e para baixo na profundidade da árvore
O eixo Y do gráfico de tempo de resposta agora pode ser dimensionado
JUnit Sampler dá agora mais detalhes sobre erros de configuração
Erros conhecidos
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os ouvintes não mostram contagens de iteração quando um If Controller tem uma condição que é sempre falsa desde a primeira iteração (consulte
Bug 52496 ). Uma solução é adicionar um amostrador no mesmo nível (ou superior) do controlador If. Por exemplo, um amostrador de ação de teste com 0 tempo de espera (que não gera uma amostra) ou um amostrador de depuração com todos os campos definidos como False (para reduzir o tamanho da amostra).
O amostrador de serviço da Web não considera o status da resposta HTTP para calcular o status de uma resposta, portanto, uma resposta 500 contendo um corpo não vazio será considerada bem-sucedida, consulte
Bug 54006 . Para solucionar esse problema, certifique-se de sempre ler a resposta e adicionar um texto de verificação de declaração de resposta dentro da resposta.
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, estes se aplicam apenas a um teste executado localmente; eles não incluem nenhum encadeamento iniciado em sistemas remotos ao usar o modo cliente-servidor (consulte
Bug 54152 ).
Observe que há um bug no Java
em alguns sistemas Linux que se manifesta como o seguinte erro ao executar os casos de teste ou o próprio JMeter:
[java] AVISO: não foi possível liberar as preferências do usuário:
java.util.prefs.BackingStoreException:
java.lang.IllegalArgumentException: Não suportado: número de recuo
Isso não afeta a operação do JMeter. Esse problema foi corrigido desde o Java 7b05.
Com Java 1.6 e Gnome 3 em sistemas Linux, o menu JMeter pode não funcionar corretamente (alternar entre o clique do mouse e o menu). Este é um bug Java conhecido (veja
Bug 54477 ). Uma solução alternativa é usar um tempo de execução Java 7 (OpenJDK ou Oracle JDK).
Com o Oracle Java 7 e o Mac Book Pro Retina Display, a GUI do JMeter pode parecer embaçada. Este é um bug Java conhecido, veja Bug JDK-8000629 . Uma solução alternativa é usar um tempo de execução do Java 7 update 40 que corrige esse problema.
Alterações incompatíveis
O SMTP Sampler agora usa o assunto do arquivo eml se o campo de assunto estiver vazio
Com esta versão o autoFlush foi desligado no PrintWriter encarregado de escrever os resultados dos testes. Isso resulta em uma taxa de transferência aprimorada para testes intensivos, mas pode resultar em mais perda de dados de teste em caso de falha do JMeter (extremamente raro). Para reverter para o comportamento anterior, defina a propriedade jmeter.save.saveservice.autoflush como true .
O atalho para a caixa de diálogo do auxiliar de função agora é CTRL+SHIFT+F1 (CMD + SHIFT + F1 para Mac OS) . A sequência de teclas original (Ctrl+F1) não funcionou em alguns locais (ela é consumida pelo Java Swing ToolTipManager). Foi, portanto, necessário alterar o atalho.
A solicitação de serviço da Web (SOAP) foi removida por padrão da GUI, pois o elemento está obsoleto. (Use HTTP Request
with Body Data , veja também o Template Building a SOAP Webservice Test Plan ), se precisar mostrá-lo, veja a propriedade not_in_menu em jmeter.properties
O Transaction Controller agora define o Código de Resposta do Amostrador Pai Gerado
(se o Amostrador Pai Gerado estiver marcado) para o código de resposta do primeiro filho com falha em caso de falha de um dos filhos, nas versões anteriores o Código de Resposta estava vazio.
Nas versões anteriores, IncludeController poderia executar Test Elements localizados dentro de um Thread Group , este comportamento ( que não foi documentado ) poderia resultar em um comportamento estranho, foi removido nesta versão (veja
Bug 55464 ). A maneira correta de incluir elementos de teste é usar o fragmento de teste conforme indicado na documentação do controlador de inclusão .
A contagem de novas tentativas para os amostradores HttpClient 3.1 e HttpClient 4.x foi alterada para 0 . Anteriormente, o padrão era 1, o que poderia causar tráfego adicional inesperado.
A partir desta versão, o HTTP(S) Test Script Recorder tenta detectar quando uma amostra é o resultado de um redirecionamento anterior. Se a resposta atual for um redirecionamento, o JMeter salvará a URL de redirecionamento. Quando a próxima solicitação é recebida, ela é comparada com a URL de redirecionamento salva e, se houver correspondência, o JMeter desabilitará a amostra gerada. Para reverter ao comportamento anterior, defina a propriedade proxy.redirect.disabling=false
A partir desta versão, no HTTP(S) Test Script Recorder , se Grouping estiver definido como Put each group in a new Transaction Controller , o Recorder criará instâncias do Transaction Controller com Include duration of timer and pre-post processors in Generad sample definido como false . Esse valor padrão reflete o tempo de resposta com mais precisão.
A função __escapeOroRegexpChars (que escapa caracteres reservados ORO) não corta mais o valor (consulte
Bug 55328 )
O commons-lang-2.6.jar foi removido das bibliotecas incorporadas na pasta jmeter/lib , pois não é necessário pelo JMeter em tempo de execução (é usado apenas pelo Apache Velocity para gerar documentação). Se você usar qualquer plugin ou código de terceiros que dependa dele, você precisa adicioná-lo na pasta
jmeter/lib
Correções de bugs
Amostradores e proxy HTTP
Bug 54627 - JMeter Proxy GUI: A configuração do tipo de amostrador ocupa a tela inteira quando há amostradores com nomes longos.
Bug 54629 - HTMLParser não extrai urls de tag <object>.
Bug 55023 - O recurso de reutilização de contexto SSL (51380) afeta negativamente o desempenho/taxa de transferência de solicitações não SSL. baseado na análise de Brent Cromarty (brent.cromarty em yahoo.ca)
Bug 55092 - Mensagem de log "WARN - jmeter.protocol.http.sampler.HTTPSamplerBase: URL nulo detectado (não deve acontecer)" exibido quando o URL do recurso incorporado é malformado.
Bug 55161 - Processamento inútil em SoapSampler.setPostHeaders. Contribuição de Adrian Nistor (nistor1 em illinois.edu)
Bug 54482 - HC não segue redirecionamentos com caracteres não codificados.
Bug 54142 - HTTP Proxy Server lança uma exceção quando o caminho contém "|" personagem.
Bug 55388 - HC3 não permite que o campo IP Source substitua httpclient.localaddress.
Bug 55450 - redirecionamentos HEAD devem permanecer como HEAD
Bug 55455 - HTTPS com HTTPClient4 ignora a configuração de cps
Bug 55502 - Proxy gera entradas http:/ vazias ao gravar
Bug 55504 - O proxy emite incorretamente solicitações CONNECT quando o navegador solicita a substituição do certificado
Bug 55506 - O proxy deve entregar solicitações com falha para qualquer ouvinte configurado
Bug 55545 - A GUI do servidor proxy HTTP não deve permitir a seleção de seguir e redirecionar automaticamente
Outros Amostradores
Bug 54913 - JMSPublisherGui restaura incorretamente seu estado. Contribuição de Benoit Wiart (benoit.wiart em gmail.com)
Bug 55027 - Regressão de ação de teste, valor de duração não é registrado (compilação noturna).
Bug 55163 - BeanShellTestElement falha ao citar a string ao chamar testStarted(String)/testEnded(String).
Bug 55349 - NativeCommand trava se nenhum arquivo de entrada for especificado e o aplicativo solicitar entrada.
Bug 55462 - O amostrador do sistema não deve alterar o rótulo do amostrador se uma amostra falhar
Controladores
Bug 54467 - Controlador de Loop: calcula o valor do loop apenas uma vez por iteração pai.
Bug 54985 - Fazer o controlador de transação definir o código de resposta do amostrador pai gerado para o código de resposta do primeiro filho com falha em caso de falha de um de seus filhos. Contribuição de Mikhail Epikhin (epihin-m em yandex.ru)
Bug 54950 - ModuleController : Alterações no módulo referenciado não são levadas em consideração se ocorrerem alterações após a primeira execução e o nó referenciado estiver desabilitado.
Bug 55201 - O controlador ForEach exclui o índice inicial e inclui o índice final (documentação esclarecida).
Bug 55334 - Adicionar controlador de inclusão ao plano de teste (feito de controladores de inclusão) sem salvar TestPlan leva ao código incluído não sendo levado em consideração até salvar.
Bug 55375 - StackOverflowError com ModuleController no modo Non-GUI se seu nome for o mesmo que o nó de destino.
Bug 55464 - Incluir Controlador executando o grupo de threads incluído
Ouvintes
Bug 54589 - A árvore de resultados de visualização tem muitos caracteres de lixo se a página html usa um conjunto de caracteres de byte duplo.
Bug 54753 - StringIndexOutOfBoundsException em SampleResult.getSampleLabel() se key_on_threadname=false ao usar o modo estatístico.
Bug 54685 - ArrayIndexOutOfBoundsException se "sample_variable" estiver definido no cliente, mas não no servidor.
Bug 55111 - ViewResultsTree: texto não reajustado se a barra de rolagem vertical for necessária. Contribuição de Milamber
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 54540 - "Máscara de parâmetro HTML" não está marcada como obsoleta no IHM.
Bug 54575 - CSS/JQuery Extractor: Escolher a implementação JODD sempre usa JSOUP.
Bug 54901 - A GUI de Asserção de Resposta se comporta de maneira estranha.
Bug 54924 - XMLAssertion usa JMeter JVM file.encoding em vez de codificação de resposta e não limpa a variável threadlocal.
Bug 53679 - Bug do Constant Throughput Timer com localização. Reportagem de Ludovic Garcia
Bug 55437 - ComboStringEditor não traduz strings EDIT e UNDEFINED na mudança de idioma
Bug 55501 - Codificação incorreta para descrição em francês da função __char. Contribuição de Antonio Gomes Rodrigues (ra0077 em gmail.com)
Em geral
Bug 54504 - Cadeia de recursos não encontrada: [clipboard_node_read_error].
Bug 54538 - GUI: o menu de contexto é muito grande.
Bug 54847 - Recortar e Colar está quebrado com a seleção múltipla de árvores. Contribuição de Benoit Wiart (benoit.wiart em gmail.com)
Bug 54870 - Arrastar e soltar árvore pode perder nós de folha (construção noturna afetada). Contribuição de Benoit Wiart (benoit.wiart em gmail.com)
Bug 55056 - trabalho desperdiçado em Data.append(). Contribuição de Adrian Nistor (nistor1 em illinois.edu)
Bug 55129 - Altere a geração do Javadoc de acordo com CVE-2013-1571, VU#225657.
Bug 55187 - Estouro de número inteiro ao calcular ONE_YEAR_MS no HTTP CacheManager.
Bug 55208 - As entradas de idioma JSR223 são duplicadas; dobre para minúsculas.
Bug 55203 - TestBeanGUI - configurações de idioma erradas encontradas.
Bug 55065 - Processamento inútil em Spline3.converge(). Contribuição de Adrian Nistor (nistor1 em illinois.edu)
Bug 55064 - Processamento inútil em ReportTreeListener.isValidDragAction(). Contribuição de Adrian Nistor (nistor1 em illinois.edu)
Bug 55242 - O jar do BeanShell Client lança exceções após atualizar para 2.8.
Bug 55288 - O JMeter deve ter como padrão 0 novas tentativas para solicitações HTTP.
Bug 55405 - a tarefa ant download_jars falha se lib/api ou lib/doc estiverem faltando. Contribuição de António Gomes Rodrigues.
Bug 55427 - TestBeanHelper deve ignorar propriedades não suportadas por GenericTestBeanCustomizer
Bug 55459 - Elementos usando ComboStringEditor perdem o valor de entrada se o usuário selecionar outro Elemento de Teste
Bug 54152 - Em testes distribuídos: activeThreads sempre mostra 0 na GUI e no Summariser
Bug 55509 - Permitir que Plugins sejam notificados da progressão do número de thread remoto
Bug 55572 - O pop-up de detalhes do parâmetro não mostra uma barra de rolagem quando o conteúdo excede a exibição
Bug 55580 - O painel de ajuda não rola para iniciar os links <a href="#">
Bug 55600 - JSyntaxTextArea: comportamento estranho no primeiro desfazer
Bug 55655 - NullPointerException ao parar/desligar remotamente todos se um motor não iniciar corretamente. Contribuição do UBIK Load Pack (suporte em ubikloadpack.com)
Bug 55657 - O estado dos botões de parada/desligamento remoto e local não leva em consideração o status local/remoto
Melhorias
Amostradores e proxy HTTP
Solicitação HTTP: Pequenas melhorias na interação do usuário na caixa de detalhes do parâmetro de linha. Contribuição de Milamber
Bug 55255 - Permitir que o método Body in HTTP DELETE dê suporte à API que o usa (como ElasticSearch).
Bug 53480 - Adicionar suporte Kerberos ao Http Sampler (HttpClient4). Baseado no patch de Felix Schumacher (felix.schumacher em internetallee.de)
Bug 54874 - Dispositivo de suporte além do endereço IP de origem. Baseado no patch de Dan Fruehauf (malkodan em gmail.com)
Bug 55488 - Adicionar extensão de arquivo .ico e .woff às exclusões padrão sugeridas no gravador de proxy. Contribuição de Antonio Gomes Rodrigues
Bug 55525 - Proxy deve suportar alias para entrada do servidor de chaves
Bug 55531 - Gravação e redirecionamentos de proxy. Adicionado código para desabilitar amostras redirecionadas.
Bug 55507 - A gravação de proxy SSL não lida bem com recursos incorporados externos
Bug 55632 - Tenha uma nova implementação do htmlParser para análise de recursos incorporados com melhor desempenho
Bug 55653 - HTTP(S) Test Script Recorder deve definir a propriedade TransactionController "Incluir duração do temporizador e pré-pós processadores na amostra gerada" para false
Outros amostradores
Bug 54788 - JMS Point-to-Point Sampler - melhorias na GUI para aumentar a legibilidade e facilidade de uso. Contribuição de Bruno Antunes (bmantunes em gmail.com)
Bug 54798 - Usando o assunto do arquivo EML para o SMTP Sampler. Contribuição de Mikhail Epikhin (epihin-m em yandex.ru)
Bug 54896 - O amostrador JUnit fornece apenas a mensagem "falha ao criar uma instância da classe" com problemas de construtor.
Bug 55084 - Adicionar suporte de tempo limite para solicitação JDBC. Contribuição de Mikhail Epikhin (epihin-m em yandex.ru)
Bug 55403 - Aprimoramento no amostrador de SO: suporte para tempo limite
Bug 55518 - Adicionada a capacidade de limitar o número de PreparedStatements em cache por conexão quando o tipo de consulta "Instrução de seleção preparada", "Instrução de atualização preparada" ou "Instrução de chamada" é selecionado
Controladores
Bug 54271 - O controlador do módulo quebra se o plano de teste for renomeado.
Ouvintes
Bug 54532 - Melhora a escala do eixo Y do gráfico de tempo de resposta com valores grandes ou pequenos (< 1000ms). Adicione um novo campo para definir a escala de incremento. Contribuição de Milamber baseado no patch de Luca Maragnani (luca.maragnani em gmail.com)
Bug 54576 - Exibir Árvore de Resultados: Adicione um Testador CSS/JQuery.
Bug 54777 - Melhora o desempenho do ResultCollector padrão. Baseado no patch de Mikhail Epikhin (epihin-m em yandex.ru)
Bug 55389 - Mostrar endereço de origem IP nos dados de solicitação
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 54789 - XPath Assertion - melhorias na GUI para aumentar a legibilidade e facilidade de uso.
Funções
Bug 54991 - Adicionar funções para codificar/decodificar caracteres codificados em URL (__urlencode e __urldecode). Contribuição de Milamber.
I18N
Bug 55241 - Precisa do Editor de GUI para processar campos baseados em Enums com strings de exibição localizadas
Bug 55440 - ComboStringEditor deve permitir que as tags sejam dependentes do idioma
Bug 55432 - CSV Dataset Config perde o modo de compartilhamento ao alternar idiomas
Em geral
Bug 54584 - Plugin MongoDB. Baseado no patch de Jan Paul Ettles (janpaulettles em gmail.com)
Bug 54669 - Adicionar sinalizador forçando a JVM não-GUI a sair após o teste. Contribuição de Scott Emmons
Bug 42428 - Workbench não salvo com Plano de Teste. Contribuição de Dzmitry Kashlach (dzmitrykashlach em gmail.com)
Bug 54825 - Adicionar atalhos para mover elementos na árvore. Contribuição de Benoit Wiart (benoit.wiart em gmail.com)
Bug 54834 - Melhore o Arrastar e Soltar na árvore jmeter. Contribuição de Benoit Wiart (benoit.wiart em gmail.com)
Bug 54839 - Defina o nome do aplicativo no Mac. Contribuição de Benoit Wiart (benoit.wiart em gmail.com)
Bug 54841 - Manuseie corretamente o atalho de saída no Mac Os (CMD-Q). Contribuição de Benoit Wiart (benoit.wiart em gmail.com)
Bug 54844 - Defina o ícone do aplicativo no Mac OS. Contribuição de Benoit Wiart (benoit.wiart em gmail.com)
Bug 54864 - Habilite a seleção múltipla de arrastar e soltar na árvore sem precisar começar a arrastar antes de liberar Shift ou Control. Contribuição de Benoit Wiart (benoit.wiart em gmail.com)
Bug 54945 - Adicionar Gancho de Desligamento para habilitar a captura de sinais de kill ou CTRL+C.
Bug 54990 - Baixe arquivos grandes evitando outOfMemory.
Bug 55085 - Melhoria de UX: Capacidade de criar Novo Plano de Teste a partir de Modelos. Contribuição do UBIK Load Pack (suporte em ubikloadpack.com)
Bug 55172 - Fornece aos plugins uma maneira de adicionar o menu superior e itens de menu.
Bug 55202 - Adicionar cor de sintaxe para elementos de scripts (BeanShell, BSF e JSR223) e elementos JDBC com RSyntaxTextArea. Contribuição de Milamber com base no patch de Marko Vlahovic (vlahovic74 em gmail.com)
Bug 55175 - Refatoração HTTPHC4Impl para permitir melhor herança.
Bug 55236 - Modelos - fornece botão para recarregar os detalhes do modelo.
Bug 55237 - O sistema de modelo deve suportar entradas relativas de nome de arquivo.
Bug 55423 - BatchSampleSender: Reduza a granularidade de bloqueio movendo listener.processBatch para fora do bloco sincronizado
Bug 55424 - Adicionar Stripping a SampleSenders existentes
Bug 55451 - Test Element GUI com JSyntaxTextArea rola para baixo quando o conteúdo do texto é longo o suficiente para adicionar uma barra de rolagem
Bug 55513 - StreamCopier não pode ser usado com System.err ou System.out, pois fecha o fluxo de saída
Bug 55514 - SystemCommand deve suportar fluxos de entrada e saída arbitrários
Bug 55515 - SystemCommand deve suportar encadeamento de comandos
Bug 55606 - Use JSyntaxtTextArea para solicitação HTTP, elementos de teste JMS
Bug 55651 - Altere o ícone do aplicativo JMeter para o ícone de pluma do Apache
Alterações não funcionais
Atualizado para jsoup-1.7.2
Bug 54776 - Atualize a dependência do Bouncy Castle para 1.48. Contribuição de Emmanuel Bourg (ebourg em apache.org)
Atualizado para HttpComponents Client 4.2.6 (de 4.2.3)
Atualizado para HttpComponents Core 4.2.5 (de 4.2.3)
Atualizado para commons-codec 1.8 (de 1.6)
Atualizado para commons-io 2.4 (de 2.2)
Atualizado para commons-logging 1.1.3 (de 1.1.1)
Atualizado para commons-net 3.3 (de 3.1)
Atualizado para jdom-1.1.3 (de 1.1.2)
Atualizado para jodd-lagarto e jodd-core 3.4.8 (de 3.4.1)
Atualizado para junho 4.11 (de 4.10)
Atualizado para slf4j-api 1.7.5 (de 1.7.2)
Atualizado para tika 1.4 (de 1.3)
Atualizado para xmlgraphics-commons 1.5 (de 1.3.1)
Atualizado para xstream 1.4.4 (de 1.4.2)
Atualizado para BouncyCastle 1.49 (de 1.48)
Bug 54912 - JMeterTreeListener deve usar constantes. Contribuição de Benoit Wiart (benoit.wiart em gmail.com)
Bug 54903 - Remova a dependência da Estrutura de Ativação. Contribuição de Emmanuel Bourg (ebourg em apache.org)
Movido commons-lang (2.6) para lib/doc, pois só é necessário para o Velocity.
Arquivos de AVISO e LICENÇA reorganizados e simplificados.
Bug 55411 - NativeCommand pode ser útil em outro lugar. Código copiado para oajorphan.exec.
Bug 55435 - ComboStringEditor pode ser simplificado para tornar a maioria das configurações finais
Bug 55436 - ComboStringEditor deve implementar ClearGui
Bug 55463 - Component.requestFocus() é desencorajado; use requestFocusInWindow() em vez disso
Bug 55486 - Novo logotipo do JMeter. Contribuição do UBIK Load Pack (suporte em ubikloadpack.com)
Bug 55548 - Limpar o uso de TestElement.ENABLED; use TestElement.isEnabled()/setEnabled() em todo
Bug 55617 - Melhorias na coleção jorphan. Contribuição de Benoit Wiart (benoit.wiart em gmail.com)
Bug 55623 - Valores de configuração inválidos/inesperados não devem ser ignorados silenciosamente
Bug 55626 - Renomear HTTP Proxy Server como HTTP(S) Test Script Recorder
Obrigado
Agradecemos a todos os contribuidores mencionados nas seções de bugs e melhorias acima:
Bruno Antunes (bmantunes em gmail.com)
Emmanuel Bourg (ebourg em apache.org)
Scott Emmons
Mikhail Epikhin (epihin-m em yandex.ru)
Dzmitry Kashlach (dzmitrykashlach em gmail.com)
Luca Maragnani (luca.maragnani em gmail.com)
Milâmber
Adrian Nistor (nistor1 em illinois.edu)
Antonio Gomes Rodrigues (ra0077 em gmail.com)
UBIK Load Pack (suporte em ubikloadpack.com)
Benoit Wiart (benoit.wiart em gmail.com)
Agradecemos também aos relatores de bugs que nos ajudaram a melhorar o JMeter.
Para esta versão, queremos agradecer especialmente aos seguintes repórteres pelos relatórios claros e testes feitos após nossas correções:
Immanuel Hayden (immanuel.hayden em gmail.com)
Danny Lade (dlade em web.de)
Brent Cromarty (brent.cromarty em yahoo.ca)
Wolfgang Heider (wolfgang.heider em racon.at)
Shmuel Krakower (shmulikk em gmail.com)
Desculpe se omitimos mais alguém.
Versão 2.9
Novo e notável
Melhorias principais:
* Foi introduzido um novo Extractor que usa CSS ou sintaxe de seletor semelhante a jquery, permitindo usar implementações JODD ou JSOUP
Resultado: o título da página em uma variável JMeter
* O JMeter agora pode lidar com diferentes tipos de documentos (PDF, arquivos do MsOffice, arquivos do Apache OpenOffice, …) em diferentes elementos
Extrator de Expressão Regular, extraia texto de documentos
Assertion Response, verifique o texto nos documentos
Exibir Árvore de Resultados, exibir como texto os documentos
* Um novo pré-processador de parâmetros de usuário Regex que permite injetar nomes e valores de parâmetros de entrada usando uma referência extraída pelo Extrator de Expressão Regular de uma resposta anterior
* TCP Sampler: novas opções
O TCP Sampler foi aprimorado com novas opções para permitir a configuração do valor de byte Close Connection ,
SO_LINGER e End of line (EOL)
* Uma nova função __escapeOroRegexpChars(,) foi introduzida citação ORO regexp meta caracteres
* ForEach Controller: novos campos
ForEach Controller agora tem 2 novos campos para controlar o início e o fim do loop
* O manipulador de ação de status de resultado agora tem uma nova opção para "Iniciar o próximo loop de thread"
* JMS Publisher: nova opção
O JMS Publisher agora pode enviar mensagens de bytes
* Melhorias de memória e desempenho
Melhorias significativas foram feitas nesta versão no uso de memória por thread e CPU quando mais de um pós-processador é usado como filho de um amostrador
Os elementos JSR223 (habilitados usando Groovy, Scala, … como linguagens de script) foram aprimorados para habilitar o cache de resultados de compilação quando os scripts são passados na área de texto
Alguns padrões de configuração foram alterados para melhorar o desempenho por padrão (veja
o Bug 54412 ), veja a descrição na seção Novos e Notáveis.
O teste distribuído agora usa MODE_STRIPPED_BATCH, que retorna amostras no modo de lote (a cada 100 amostras ou a cada minuto por padrão). Observe também que MODE_STRIPPED_BATCH retira os dados de resposta de SampleResult, portanto, se você precisar, mude para outro modo (propriedade de modo em jmeter.properties)
Os dados do resultado agora são salvos em CSV por padrão (jmeter.save.saveservice.output_format em jmeter.properties)
* XPath Assertion agora permite usar uma variável JMeter como entrada
Melhorias na GUI e na ergonomia:
* O recurso de pesquisa foi aprimorado para pesquisar em mais campos internos de elementos e expandir os resultados da pesquisa
* Copiar/colar agora é possível entre 2 instâncias do JMeter >= versão 2.9
Copie o(s) elemento(s) de uma instância do JMeter:
Cole o(s) elemento(s) em uma segunda instância do JMeter:
* Gerenciador de cabeçalho HTTP
Permitir cópia da área de transferência para HeaderPanel, os cabeçalhos devem ser separados por uma nova linha e ter o seguinte nome de formulário: valor
* Módulo Controlador
O Module Controller foi aprimorado para renderizar melhor o controlador referenciado e expandi-lo clicando em um novo botão
* Servidor proxy HTTP
HTTP Proxy Server agora tem um botão para adicionar um conjunto de exclusões padrão para padrões de URL, esta lista pode ser configurada através da propriedade: proxy.excludes.suggested
* A renderização do controlador de destino foi aprimorada no HTTP Proxy Server
Gravação do servidor proxy HTTP:
* O HTTP Proxy Server agora usa automaticamente a solicitação HTTP com o modo Raw Post Body para amostras que têm apenas um argumento sem nome (JSON, XML, GWT, …)
* HTTP Proxy Server não força o usuário a selecionar o tipo de amostrador nas configurações do amostrador HTTP, isso permite alternar mais facilmente entre as implementações, pois o amostrador não tem mais essa informação definida
* A interface SamplerCreator foi enriquecida para atender aos novos requisitos para provedores de plug-ins
* Agora é possível criar amostrador binário para solicitação POST x-www-form-urlencoded modificando a propriedade proxy.binary.types para adicionar application/x-www-form-urlencoded
* Detecção automática de formato de carimbo de data/hora aprimorada ao ler arquivos CSV
Erros conhecidos
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os ouvintes não mostram contagens de iteração quando um If Controller tem uma condição que é sempre falsa desde a primeira iteração (consulte
Bug 52496 ). Uma solução é adicionar um amostrador no mesmo nível (ou superior) do controlador If. Por exemplo, um amostrador de ação de teste com 0 tempo de espera (que não gera uma amostra) ou um amostrador de depuração com todos os campos definidos como False (para reduzir o tamanho da amostra).
O amostrador de serviço da Web não considera o status da resposta HTTP para calcular o status de uma resposta, portanto, uma resposta 500 contendo um corpo não vazio será considerada bem-sucedida, consulte
Bug 54006 . Para solucionar esse problema, certifique-se de sempre ler a resposta e adicionar um texto de verificação de declaração de resposta dentro da resposta.
Alterar o idioma pode quebrar parte da configuração dos seguintes elementos (veja
Bug 53679 ):
Configuração do conjunto de dados CSV (o modo de compartilhamento será perdido)
Temporizador de taxa de transferência constante (calcular a taxa de transferência com base em será perdido)
Os números que aparecem à esquerda da caixa verde são o número de threads ativos / número total de threads, estes se aplicam apenas a um teste executado localmente; eles não incluem nenhum encadeamento iniciado em sistemas remotos ao usar o modo cliente-servidor (consulte
Bug 54152 ).
Observe que há um bug no Java em alguns sistemas Linux que se manifesta como o seguinte erro ao executar os casos de teste ou o próprio JMeter:
[java] AVISO: não foi possível liberar as preferências do usuário:
java.util.prefs.BackingStoreException:
java.lang.IllegalArgumentException: Não suportado: número de recuo
Isso não afeta a operação do JMeter.
Alterações incompatíveis
O JMeter agora requer um tempo de execução Java 6 ou superior.
Alguns padrões de configuração foram alterados para melhorar o desempenho por padrão (veja
Bug 54412 ), veja a descrição na seção Novos e Notáveis.
O amostrador de serviço da Web agora adiciona à solicitação os cabeçalhos definidos por meio do Gerenciador de cabeçalhos, que eram ignorados anteriormente
A propriedade jdbcsampler.cachesize foi removida, anteriormente limitava o tamanho de um cache por conexão de Map < String, PreparedStatement > , também limitava o tamanho desse mapa que continha o PreparedStatement para consultas SQL. Esta limitação provocou um bug
Bug 53995 . Ele foi removido, então agora o tamanho desses 2 mapas não é mais limitado. Essa alteração altera o comportamento, pois a partir desta versão nenhum PreparedStatement será fechado durante o teste.
A partir desta versão, há algumas mudanças importantes nos elementos de teste JSR223:
Elementos de teste JSR223 que têm um nome de arquivo inválido (não existente ou ilegível) fará com que o teste falhe em vez de fazer o elemento funcionar silenciosamente
Em elementos de teste JSR223: responseCodeOk, responseMessageOK e success são definidos antes que o script seja executado, se responseData for definido, ele não será mais substituído por um toString() no valor de retorno do script
Exibir Árvore de Resultados agora considera a resposta com tipo de conteúdo ausente como texto.
No modo de teste remoto, o JMeter agora sai com erro se um dos mecanismos remotos não puder ser configurado, anteriormente ele iniciava o teste com os mecanismos disponíveis.
Correções de bugs
Amostradores e proxy HTTP
Não registre mensagens de aviso falsas ao usar downloads incorporados de pool simultâneo com o Cache Manager ou CookieManager
Bug 54057 - Opção de proxy para definir usuário e senha na inicialização (-u e -a) não funciona com HTTPClient 4
Bug 54187 - A guia de solicitação não mostra os cabeçalhos se a solicitação falhar
Bug 53840 - Gravação de proxy: Mensagem de resposta: URLDecoder: Caracteres hexadecimais ilegais no padrão de escape (%) - Para string de entrada: "" "
Bug 53997 - Solicitação estendida do LDAP: Escape e comercial (&), colchete angular esquerdo (<) e colchete angular direito (>) na tag de filtro de pesquisa nos dados de resposta XML
Bug 53995 - AbstractJDBCTestElement compartilha PreparedStatement entre multi-threads
Bug 54119 - A resposta HTTP 307 não é redirecionada
Bug 54326 - AjpSampler enviar arquivo no post lança FileNotFoundException
Bug 54331 - AjpSampler lança ponteiro nulo na solicitação GET que está protegida
Bug 54166 - ViewResultsTree não pôde renderizar a resposta HTML: lidar com falha ao analisar HTML
Bug 54287 - timestamp incorreto no gráfico de tempo de resposta ao usar uma data com hora no campo formato de data
Bug 54451 - Response Time Graph reporta tempos errados quando há muitas amostras para o mesmo tempo
Bug 54459 - CSVSaveService não lida muito bem com a análise de data
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 54058 - Em HTTP Request Defaults, o valor do campo "Embedded URLs must match: não é salvo se a caixa de seleção "Retrieve All Embedded Resources" não estiver marcada.
Bug 54375 - Extrator de Expressão Regular: Quando a sintaxe regex está errada, o pós-processamento é interrompido
Funções
I18N
Em geral
Bug 53975 - A substituição de variáveis não funciona com a opção "Atrasar a criação de thread até que seja necessário"
Bug 54055 - Exibir árvore de resultados: = os sinais são retirados dos valores dos parâmetros na guia HTTP
Bug 54129 - O recurso de pesquisa não encontra texto embora exista em elementos
Bug 54023 - Não é possível iniciar o JMeter a partir de um diretório raiz e se o caminho completo da instalação do JMeter contiver um ou mais espaços (Unix/linux)
Bug 54172 - Tecla de atalho duplicada não funciona e CTRL+C/CTRL+V/CTRL+V não cancela o evento padrão
Bug 54057 - Opção de proxy para definir usuário e senha na inicialização (-u e -a) não funciona com HTTPClient 4
Bug 54267 - A configuração Start Next Thread Loop não funciona em grupos de threads personalizados
Bug 54413 - DataStrippingSampleSender retorna 0 para o número de bytes de qualquer resposta
Melhorias
Amostradores HTTP
Bug 54185 - Permitir strings de consulta em caminhos que começam com HTTP ou HTTPS
Outros amostradores
Bug 54004 - Webservice Sampler: Permitir adicionar cabeçalhos para solicitar com o Header Manager
Bug 54106 - JSR223TestElement deve verificar a existência do arquivo quando um nome de arquivo é definido em vez de usar o conteúdo da área de texto
Bug 54107 - JSR223TestElement: Habilitar compilação e cache de texto de script
Bug 54109 - JSR223TestElement: As propriedades SampleResult devem ser definidas antes de inserir o script para permitir que o usuário configure um código diferente
Bug 54230 - TCP Sampler, adições das opções "Close Connection", "SO_LINGER" e "End of line(EOL) byte value"
Bug 54182 - Suporte ao envio de ByteMessage para JMS Publisher.
Controladores
Bug 54131 - ForEach Controller: Adicione o índice inicial e final para fazer loop sobre variáveis
Bug 54132 - GUI do controlador de módulo: melhore a renderização do controlador referenciado
Bug 54155 - ModuleController: Adicione um botão de atalho para desdobrar a árvore até o controlador referenciado e destacá-lo
Ouvintes
Bug 54200 - Adiciona suporte a vários tipos de documentos (como arquivos do Apache OpenOffice, arquivos do MS Office, arquivos PDF, etc.) aos elementos View Results Tree, Assertion Response e Regular Expression Extractor (usando Apache Tika)
Bug 54226 - Exibir árvore de resultados: Mostrar resposta mesmo quando o servidor não retornar o cabeçalho ContentType
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 54259 - Introduzir um novo Extractor que usa CSS ou sintaxe de seletor semelhante a jquery
Bug 45772 - Pós-processador de parâmetros de usuário RegEx
Bug 54160 - Adicionado suporte para declaração xpath para aplicar a uma variável JMeter.
Funções
Bug 54189 - Adicionar uma função para citar meta caracteres ORO regexp
Grupo de threads: nova opção de atraso na criação de threads até que seja necessário
Nova opção "Atrasar a criação de threads até que seja necessário" que criará e iniciará threads quando necessário em vez de criá-los na inicialização do teste Este novo recurso permite executar testes com um grande número de threads de curta duração.
Gerenciador de cookies HTTP (suporte a IPv6)
Adicione a implementação de cookie HTTPClient 4 no JMeter.
O Cookie Manager tem agora a implementação padrão do HC3.1 e uma nova opção de implementação do HC4 (compatível com o endereço IPv6)
Melhorias de memória e desempenho
Melhorias significativas foram feitas nesta versão no uso de memória do JMeterThread
Os elementos JSR223 (habilitar usando Groovy, scala, … como linguagens de script) foram aprimorados para habilitar:
uso da interface Compilável quando disponível para aumentar o uso da CPU
cache de compilação quando scripts são usados como arquivos
Permite definir arquivos para stdout/stderr/stdin.
Solicitação HTTP: verbo PATCH
Adicionar verbo PATCH ao amostrador HTTP
Solicitação HTTP: HTTPClient 4 agora é a implementação padrão
O HTTPClient 4 agora é a implementação de solicitação HTTP padrão (e para o elemento Proxy ao gerar solicitações HTTP).
Anteriormente, o padrão era a implementação Java HTTP (ou seja, a implementação fornecida pela JVM)
Solicitação HTTP
Adicionar filtro de URL incorporado ao controle de padrões de solicitação HTTP (já estava presente para solicitações HTTP)
Diversos
Conjunto de dados CSV: novas linhas incorporadas agora são suportadas em dados cotados
Os arquivos JMX agora contêm a versão do JMeter que criou o arquivo
A versão JMeter agora está disponível como propriedade "jmeter.version"
Melhorias nos relatórios:
Gráfico de tempo de resposta
Adicione um novo gráfico de tempo de resposta do visualizador para desenhar um gráfico de linhas mostrando a evolução do tempo de resposta para um teste
Configurações do gráfico de tempo de resposta
Ver resultados na tabela
Adicionar latência ao ouvinte Exibir resultado na tabela
Gráfico agregado
Pequenas melhorias: a legenda à esquerda ou à direita agora está em 1 coluna (em vez de 1 linha grande), …
Melhorias na GUI e na ergonomia:
Simplificações do servidor proxy HTTP
As opções de HTTPS Spoofing foram removidas do Proxy, pois a gravação HTTPS está diretamente disponível desde o JMeter 2.4.
Servidor proxy HTTP
Permitir que filtros de URL sejam colados da área de transferência
Localizar no JMeter
CTRL + F para o novo recurso Localizar
A tecla ESC agora fecha os pop-ups.
Interface do usuário no GNOME 3
Exiba o título 'Apache JMeter' na barra de título do aplicativo no Gnome 3
Erros conhecidos
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os ouvintes não mostram contagens de iteração quando um If Controller tem uma condição que é sempre falsa desde a primeira iteração (consulte
Bug 52496 ). Uma solução é adicionar um amostrador no mesmo nível (ou superior) do controlador If. Por exemplo, um amostrador de ação de teste com 0 tempo de espera (que não gera uma amostra) ou um amostrador de depuração com todos os campos definidos como False (para reduzir o tamanho da amostra).
Alterar o idioma pode quebrar parte da configuração dos seguintes elementos (veja
Bug 53679 ):
Configuração do conjunto de dados CSV (o modo de compartilhamento será perdido)
Temporizador de taxa de transferência constante (calcular a taxa de transferência com base em será perdido)
Observe que há um bug no Java em alguns sistemas Linux que se manifesta como o seguinte erro ao executar os casos de teste ou o próprio JMeter:
[java] AVISO: não foi possível liberar as preferências do usuário:
java.util.prefs.BackingStoreException:
java.lang.IllegalArgumentException: Não suportado: número de recuo
Isso não afeta a operação do JMeter.
Alterações incompatíveis
Ao usar o CacheManager, o JMeter agora armazena em cache as respostas para consultas GET, desde que o cabeçalho Cache-Control seja diferente de "sem cache", conforme descrito na especificação. Além disso, ele não coloca mais entradas obsoletas no Cache para respostas "sem cache". Veja
Bug 53521 e
Bug 53522
Uma grande mudança ocorreu nos Elementos de Teste JSR223, as variáveis anteriormente configuradas antes da execução do script eram armazenadas no ScriptEngineManager que era criado uma vez por execução, agora o ScriptEngineManager é um singleton compartilhado por todos os elementos JSR223 e apenas o ScriptEngine é criado uma vez por execução, as variáveis configuradas antes da execução do script agora ser armazenada em Bindings criados em cada execução, veja
Bug 53365 .
Os elementos de teste JSR223 usando o arquivo Script agora são compilados se o ScriptEngine suportar esse recurso, consulte
Bug 53520 .
O atalho para a caixa de diálogo Function Helper agora é CTRL+F1 (CMD + F1 para Mac OS), CTRL+F (CMD+F1 para Mac OS) agora abre a caixa de diálogo Search.
Por padrão, o TestCompiler agora armazena detalhes de quais pares ele viu nas instâncias do Controller, em vez de em um Set estático. [
Bug 53796 ] Isso fornece um comportamento de memória muito melhor para planos de teste de início atrasado, pois a memória usada é proporcional ao número de threads simultâneos. Com o uso de memória do Conjunto estático foi proporcional à contagem total de encadeamentos. É muito improvável que essa alteração cause um problema. O comportamento original pode ser restaurado definindo a propriedade TestCompiler.useStaticSet=true
As opções de HTTPS Spoofing foram removidas do Proxy, pois a gravação HTTPS está diretamente disponível desde o JMeter 2.4.
Correções de bugs
Amostradores e proxy HTTP
Bug 53521 - O Gerenciador de Cache deve armazenar em cache o conteúdo com Cache-control=private
Bug 53522 - O Cache Manager não deve armazenar nenhuma resposta com o cabeçalho "no-cache" e armazenar outros tipos de Cache-Control com valor max-age
Bug 53838 - Pressionar "Stop" não interrompe o amostrador TCP
Bug 53911 - JmeterKeystore não permite chave para baixo na lista de certificados
Outros Amostradores
Bug 53348 - JMeter JMS Point-to-Point Request-Response sampler não funciona quando Request-queue e Receive-queue são diferentes
Bug 53357 - JMS Point to Point relata tempos de resposta muito altos no modo de resposta de solicitação
Bug 53440 - A conexão SSL leva a ArrayStoreException no JDK 6 com algum SPI KeyManagerFactory
Bug 53511 - amostrador de log de acesso SessionFilter lança NullPointerException - gerenciador de cookies não inicializado corretamente
Bug 53742 - Quando jmeter.save.saveservice.sample_count é definido como verdadeiro, o tempo decorrido lido pelo ouvinte é sempre igual a 0
Bug 53774 - RequestViewRaw não mostra cabeçalhos a menos que samplerData seja não nulo
Bug 53802 - Os valores IdleTime não são salvos no log CSV
Bug 53874 - Exibir árvore de resultados: se algum parâmetro contendo caracteres especiais como % não for codificado, RequestViewHTTP falhará com java.lang.IllegalArgumentException: URLDecoder: caracteres hexadecimais ilegais no padrão de escape (%) e a resposta não é exibida
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 51512 - Os cookies não são inseridos na solicitação HTTP com o cabeçalho do host IPv6
Funções
I18N
Em geral
Bug 53365 - JSR223TestElement deve armazenar em cache ScriptEngineManager
Bug 53520 - Elementos JSR223: Use a interface Compilável para melhorar o desempenho em scripts de arquivo
Bug 53501 - O temporizador de sincronização bloqueia o teste final.
Bug 53750 - TestCompiler salva entradas desnecessárias na coleção de emparelhamento
Bug 53841 - CSVSaveService lê o arquivo usando a codificação de arquivo padrão da JVM em vez de usar a configurada em saveservice.properties
Bug 53953 Novo: Erro de digitação na documentação do plano de teste do monitor
Melhorias
Amostradores HTTP
Bug 53675 - Adicionar verbo PATCH ao amostrador HTTP
Bug 53931 - Definir HTTPClient 4 para a solicitação HTTP padrão (e elemento Proxy para gerar as solicitações HTTP). Antes do padrão, era o HTTP Java Sampler
Bug 53934 - Remove as opções de falsificação de HTTPS no JMeter HTTP Proxy Server. Desde o JMeter 2.4, o protocolo HTTPS é suportado diretamente pelo proxy
Outros amostradores
Bug 55310 - TestAction deve implementar Interruptible
Bug 53318 - Adicionar filtro de URL incorporado ao controle de padrões de solicitação HTTP
Bug 53782 - Melhore a manipulação do JavaSampler da limpeza do JavaSamplerClient para usar menos memória
Bug 53168 - Processo do SO - permite especificação de stdout/stderr/stdin
Bug 53844 - Elementos relacionados ao JDBC devem verificar a classe do Nome da Variável que deveria conter a Configuração de Conexão JDBC para evitar ClassCastException
Controladores
Bug 53671 - grupo de threads tearDown para ser executado mesmo se o teste de desligamento acontecer
Ouvintes
Bug 53566 - Não registre respostas parciais no log do jmeter
Bug 53716 - Pequenas melhorias no gráfico agregado: a legenda à esquerda ou à direita agora está em 1 coluna (em vez de 1 linha grande), sem borda para a cor quadrada da referência, reduz a largura em alguns campos
Bug 53718 - Adicione um novo visualizador 'Response Time Graph' para desenhar um gráfico de linhas mostrando a evolução do tempo de resposta para um teste
Bug 53738 - Acompanhe o número de threads iniciados e concluídos
Bug 53753 - Summariser: não adianta exibir tempo fracionário na maioria dos casos
Bug 53749 - A interface TestListener pode ser dividida. Isso deve reduzir os requisitos e o processamento de memória por thread, pois apenas os elementos de teste que realmente usam a funcionalidade testIterationStart agora precisam ser manipulados.
Bug 53941 - Adicionar latência ao ouvinte da tabela de resultados de exibição
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 53755 - Adicionando uma implementação de cookie HttpClient 4 no JMeter. O Cookie Manager tem agora a implementação padrão do HC3.1 e uma nova opção de implementação do HC4 (compatível com o endereço IPv6)
Funções
Bug 51527 - função __time(): adicione outra opção a __time() para fornecer *segundos* desde a época
I18N
Em geral
Bug 53364 - Lista de classificação de funções na caixa de diálogo do auxiliar de função
Bug 53418 - Nova opção "Atrasar a criação de threads até que seja necessário" que criará e iniciará threads quando necessário, em vez de criá-los na inicialização de teste
Bug 42245 - Mostrar senhas claras no Gerenciador de Autorização HTTP
Bug 53616 - Exibe o título 'Apache JMeter' na barra de título do aplicativo no Gnome 3
Bug 53884 - ID de grupo Maven incorreto para commons-lang
Versão 2.7
Novo e notável
Amostrador de processos do SO
Um novo System Sampler que pode ser usado para executar comandos na máquina local.
Exemplo de resultados do OS Process Sampler com o comando de pesquisa DNS 'dig'
Melhorias nos Amostradores JMS
Adição de uma opção "Entrega Não Persistente" para enviar "Não Persistente" (Garantido para ser entregue no máximo uma vez. A perda de mensagens não é uma preocupação.) Mensagens JMS
Suporte ao envio de mensagens de objeto JMS para permitir o envio de objetos não empacotados do XML pelo XStream
Ative a configuração de propriedades JMS por meio do amostrador do JMS Publisher
Amostrador de ação de teste
Permitir saída prematura de um loop
Melhorias no Webservice Sampler
Adicione uma propriedade jmeter soap.document_cache para controlar o tamanho do Document Cache
Tornar a manutenção da sessão HTTP configurável
Gráfico agregado: char de barra agrupada com média, mediana, linha de 90%, colunas mínimas e máximas
Agregar alterações de gráfico ao gráfico de barras agrupadas, adicionar mais colunas (mediana, 90% de linha, mín., máx.) e opções, corrigir alguns bugs
Novas configurações para gráfico agregado
Melhorias no design do relatório HTML gerado pela tarefa JMeter Ant na pasta extras
Exemplo de relatório HTML
Exemplo de relatório HTML com alguns erros de declaração
Visualizador de mala direta
Habilite autenticação e segurança de conexão com SSL ou TLS
Melhore o design da GUI
Adicionar suporte à internacionalização (i18n)
Novo Indicador Visual do número de mensagens de ERRO/FATAL nos logs
O indicador mostra o número de mensagens de ERRO/FATAL nos logs, pode ser clicado para alternar o painel do Visualizador de Log
Caixa de diálogo para mostrar detalhes de uma linha de parâmetro
Adicionar um botão de detalhes na tabela de parâmetros para mostrar detalhes de uma linha
Exemplo de caixa de detalhes
Escritores de plug-ins
A nova interface org.apache.jmeter.engine.util.ConfigMergabilityIndicator foi introduzida para informar se um ConfigTestElement pode ser mesclado no Sampler (consulte
Bug 53042 ):
public boolean aplica(ConfigTestElement configElement);
Nova interface org.apache.jmeter.protocol.http.proxy.SamplerCreator para permitir conectar amostradores baseados em HTTP que diferem de amostradores HTTP padrão por meio de proxy durante a fase de gravação (consulte
Bug 52674 ):
public String[] getManagedContentTypes();
public HTTPSamplerBase createSampler(solicitação HttpRequestHdr, Map<String, String> pageEncodings, Map<String, String> formEncodings);
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os ouvintes não mostram contagens de iteração quando um If Controller tem uma condição que é sempre falsa desde a primeira iteração (consulte
Bug 52496 ). Uma solução é adicionar um amostrador no mesmo nível (ou superior) do controlador If. Por exemplo, um amostrador de ação de teste com 0 tempo de espera (que não gera uma amostra) ou um amostrador de depuração com todos os campos definidos como False (para reduzir o tamanho da amostra).
Alterações incompatíveis
Ao fazer a substituição de Variáveis Definidas pelo Usuário, o Proxy não substituirá mais os valores parciais quando a "correspondência Regexp" for usada. Ele usará correspondência de palavras Perl 5 ("\b")
Em Variáveis Definidas pelo Usuário, Plano de Teste, Tabela de Argumentos do Amostrador HTTP, Padrões de Solicitação Java, Amostrador e Publicador JMS, Padrões de Solicitação LDAP e Padrões de Solicitação Estendida LDAP, as linhas com Nome e Valor vazios não são mais salvas.
O JMeter agora expande a árvore do Plano de Teste para o nível do plano de teste e não mais e seleciona a raiz da árvore. Além disso, o valor padrão de onload.expandtree é false.
O Ouvinte de Resultados Completos do Gráfico foi removido.
Ao chamar o comando "Clear All", se o Log Viewer for exibido, seu conteúdo será limpo.
Correções de bugs
Amostradores e proxy HTTP
Bug 52613 - Usando a opção Raw Post Body, o texto é codificado
Bug 52781 - Cabeçalho de disposição de conteúdo ilegível mesmo se os cabeçalhos compatíveis com o navegador estiverem marcados (HC4)
Bug 52796 - MonitorHandler falha ao limpar variáveis ao iniciar uma nova análise
Bug 52871 - Vários certificados não funcionam com HTTP Client 4
Bug 52885 - Proxy: Problemas de gravação com HTTPS, cookies começando com seguro são parcialmente truncados
Bug 52886 - Proxy: Problemas de gravação com HTTPS quando a falsificação está ativada, cookies seguros nem sempre são alterados
Bug 52897 - HTTPSampler: Usar o método PUT com HTTPClient4 e codificação de conteúdo vazia e enviar arquivos leva a NullPointerException
Bug 53145 - HTTP Sampler - função no caminho avaliada muito cedo
Outros Amostradores
Bug 51737 - TCPSampler: O pacote é convertido/corrompido
Bug 52868 - A lista de idiomas BSF deve ser classificada
Bug 52869 - A lista de idiomas JSR223 atualmente usa a lista BSF que está errada
Bug 52932 - JDBC Sampler: Sampler não está marcado com erro em uma exceção que não é da classe IOException, SQLException, IOException ocorre
Bug 52916 - Exceção JDBC se houver uma variável definida pelo usuário vazia
Bug 52937 - Webservice Sampler: Limpar o cache de documentos Soap no final do teste
Bug 53027 - JMeter começa a lançar exceções ao usar SMTP Sample em um plano de teste com HTTP Cookie Mngr ou HTTP Request Defaults
Bug 53072 - As instruções JDBC PREPARED SELECT devem retornar resultados em variáveis como SELECT não preparado
Controladores
Bug 52968 - Opção Start Next Loop in Thread Group não marca o Amostrador de Transação pai com erro quando ocorre um erro
Bug 50898 - IncludeController: script de carregamento NullPointerException no modo não-GUI se os Inclusores usarem o mesmo nome de elemento
Ouvintes
Bug 43450 - Listeners/Savers assumem que a contagem de SampleResult é sempre 1; fixo Gerar resultados resumidos
Bug 53172 - SO Process Sampler - permite a especificação de variáveis de ambiente
Bug 52936 - JMS Publisher: Suporte ao envio de mensagens de objeto JMS
Controladores
Ouvintes
Bug 52603 - MailerVisualizer: habilitar SSL, TLS e autenticação
Bug 52698 - Remover ouvinte de resultados completos do gráfico
Bug 53070 - Altere o gráfico agregado para o gráfico de barras agrupadas, adicione mais colunas (mediana, 90% de linha, mín, máx.) e opções, corrigiu alguns bugs
Bug 53246 - Mailer Visualizer: melhore o design da GUI e I18N
Temporizadores, asserções, configuração, pré e pós-processadores
Funções
I18N
O Mailer Visualizer foi internacionalizado. Tradução francesa adicionada. (veja
Bug 53246 )
Em geral
Bug 45839 - Ação de teste: permitir saída prematura de um loop
Bug 52614 - MailerModel.sendMail tem uma maneira estranha de calcular a configuração de depuração
Bug 52782 - Adicionar um botão de detalhes na tabela de parâmetros para mostrar detalhes de uma linha
Bug 52674 - Proxy: Adicione um Criador de Amostradores para permitir conectar amostradores baseados em HTTP usando corpo de POST potencialmente não textual (AMF, Silverlight, …) e personalizá-los para outros
Bug 52934 - GUI: Plano de teste aberto com a árvore expandida para o nível do plano de teste e não mais e selecione a raiz da árvore
Bug 52941 - Melhorias no design do relatório HTML gerado pela tarefa JMeter Ant extra
Bug 53042 - Introduzir um novo método na interface do Sampler para permitir que o Sampler decida se um elemento de configuração se aplica ao Sampler
Bug 52771 - Documentação: Adicionado feed RSS na página inicial do JMeter no link "Assine o que há de novo"
Bug 42784 - Mostra o número de erros registrados na GUI
Bug 53256 - O comando Tornar claro tudo limpa o conteúdo do LogViewer
Bug 53261 - Adicione o contador "Error/fatal" no
Bug 42784 , abra o painel do Log Viewer quando o indicador de aviso for clicado
Alterações não funcionais
Atualizado para o rinoceronte 1.7R3 (era js-1.7R2.jar). Nota: as coordenadas do Maven para o jar foram alteradas de rhino:js para org.mozilla:rhino. Isso não afeta o JMeter diretamente, mas pode causar problemas ao usar o JMeter em um projeto Maven com outro código que dependa de uma versão anterior do jar Rhino Javascript.
Bug 52675 - Refatorar Proxy e HttpRequestHdr para permitir a criação de amostrador por proxy
Bug 52680 - Mencione a versão em que a função foi introduzida
Bug 52788 - HttpRequestHdr: Otimize o código para evitar trabalho inútil
A tarefa JMeter Ant (ant-jmeter-1.1.1.jar) foi atualizada de 1.0.9 para 1.1.1
Atualizado para commons-io 2.2 (de 2.1)
Bug 53129 - Atualize o XStream de 1.3.1 para 1.4.2
Atualizado para httpcomponents-client 4.1.3 (de 4.1.2)
Guia de teste distribuído JMeter atualizado (jmeter_distributed_testing_step_by_step.pdf). Altera o formato de origem para OpenOffice odt (de sxw)
Versão 2.6
Novo e notável
Barra de ferramentas
Uma nova barra de ferramentas na janela principal do JMeter
Botão de teste de início do JMeter
Uma nova opção de menu e botão permitem iniciar um teste ignorando os temporizadores de pausa
Aparência e comportamento da interface gráfica do JMeter
Permitir que System ou CrossPlatform LAF seja definido no menu de opções
GUI JMeter - nó duplicado
Adicione "nó duplicado" no menu de contexto
Visualização em árvore do JMeter - recurso de pesquisa
Funcionalidade para pesquisar por palavra-chave em Samplers Tree View
Solicitação HTTP - painel de solicitação bruta
Melhore a GUI de solicitação HTTP para mostrar melhor os parâmetros sem nome (solicitação GWT RPC ou solicitação SOAP, por exemplo)
Solicitação HTTP - outras alterações
Permitir seleção múltipla no painel de argumentos
Permitir adicionar (colar) entradas da área de transferência em uma lista de argumentos
Capacidade de mover variáveis para cima ou para baixo na solicitação HTTP
Solicitação HTTP - protocolo de arquivo
Melhor suporte para arquivo: protocolo no amostrador HTTP
Recupere recursos incorporados com arquivo: protocolo
Solicitação HTTP - Falha ao ignorar recursos incorporados
Ativar "ignorar falha" para recursos incorporados
O sucesso do pai com um recurso incorporado falhou
Visualizar resultados na tabela - exibição de amostra filho
Adicionar opção ao TableVisualiser para exibir amostras filho em vez de pai
Armazenamento de chaves - vários certificados
Permitindo vários certificados (JKS)
Melhorias no gráfico agregado
Algumas melhorias no Aggregate Graph Listener:
nova GUI para configurações
tamanho do gráfico dinâmico
permite alterar fontes para gráfico de título e legenda
permite alterar a cor da barra (fundo e valores de texto)
permitir desenhar ou não contornos de barras
permite selecionar apenas alguns amostradores por um filtro regexp
permite definir a escala máxima do eixo Y
Barra de gráfico agregado
Contador - nova opção de reset
Adicione uma opção para redefinir o contador em cada iteração do Thread Group
Funções
Adicione uma nova função __RandomString para gerar Strings aleatórias
Adicione uma nova função __TestPlanName retornando o nome do "Test Plan" atual
Adicione uma nova função __machineIP retornando o endereço IP
Adicione uma nova função __jexl2 para suportar Jexl2
Melhorias na variável definida pelo usuário
Adicionar um campo de comentário em Variáveis Definidas pelo Usuário
Permitir adicionar (colar) entradas da área de transferência em uma lista de argumentos
Capacidade de mover variáveis para cima ou para baixo em variáveis definidas pelo usuário
Ver árvore de resultados
Em Exibir Árvore de Resultados, em vez de mostrar apenas uma mensagem se os resultados forem muito grandes, mostre o resultado que estiver configurado
Controladores - elementos de mudança
Adicione a capacidade de alterar os elementos do controlador
Pré e pós-processador JDBC
Adicionar pré e pós-processador JDBC
Opção de isolamento de transação JDBC
Permitir definir o isolamento da transação na configuração de conexão JDBC
Temporizador de Poisson
Adicione um temporizador baseado em Poisson
Interação GUI e SO
Suporte para arrastar e soltar arquivos.
Confirme a caixa de diálogo Remover
Adicione uma caixa de diálogo para confirmar a remoção do(s) elemento(s) quando a ação Remover for chamada
O diálogo pode ser ignorado definindo a propriedade JMeter confirm.delete.skip=true
Suporte a lotes remotos
Use armazenamento externo para armazenar amostras durante o teste distribuído, Adicionado o remetente de amostra remoto DiskStore: como Hold, mas salva amostras em disco até o final do teste
Amostrador de Assinante JMS
Com o Assinante JMS, capacidade de usar seletores
Novo painel do registrador
Um novo Log Viewer foi adicionado à GUI e pode ser ativado no menu Options → Log Viewer:
Este Log Viewer mostra o arquivo jmeter.log e é útil (por exemplo) para depurar scripts BeanShell/BSF:
O item de menu Opções / Escolher idioma agora está totalmente funcional
O item de menu Opções / Escolher idioma agora altera todo o texto exibido para o novo idioma, desde que todas as mensagens sejam traduzidas. Você pode ajudar nisso traduzindo para o seu idioma.
Suporte ao formato Legacy JMX e JTL Avalon restaurado
O suporte para leitura/gravação do formato XML Avalon original de arquivos JMX (script) e JTL (resultado de amostra) foi descartado no JMeter versão 2.4. O JMeter agora pode ler os arquivos no formato Avalon novamente, porém não há suporte para salvar arquivos no formato antigo.
Jars JMeter disponíveis no repositório Maven
Jars JMeter agora estão disponíveis no repositório Maven.
Erros conhecidos
O Include Controller tem alguns problemas no modo não-GUI (veja Bugs 40671, 41286, 44973, 50898). Em particular, pode causar um NullPointerException se houver dois controladores de inclusão com o mesmo nome.
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
Os ouvintes não mostram contagens de iteração quando um If Controller tem uma condição que é sempre falsa desde a primeira iteração (consulte
Bug 52496 ). Uma solução é adicionar um amostrador no mesmo nível (ou superior) do controlador If. Por exemplo, um amostrador de ação de teste com 0 tempo de espera (que não gera uma amostra) ou um amostrador de depuração com todos os campos definidos como False (para reduzir o tamanho da amostra).
Alterações incompatíveis
As versões do JMeter desde 2.1 falharam ao criar uma amostra de contêiner ao carregar recursos incorporados. Isso foi corrigido; ainda pode reverter para o comportamento do
Bug 51939 definindo a seguinte propriedade:
httpsampler.separate.container=false
O servidor espelho agora usa a porta padrão 8081, era 8080 antes de 2.5.1.
O TCP Sampler trata SocketTimeoutException, SocketException e InterruptedIOException de forma diferente desde 2.6, quando isso ocorre, o Sampler é marcado como com falha.
As implementações de Sample Sender agora resolvem sua configuração no lado do cliente desde 2.6. Esse comportamento pode ser alterado com a propriedade sample_sender_client_configured (defina-a como false).
O elemento de teste HTTP User Parameter Modifier foi removido; está obsoleto há muito tempo.
Correções de bugs
Amostradores e proxy HTTP
Bug 51932 - CacheManager não lida com cabeçalho de controle de cache com nenhum atributo após max-age
Bug 51918 - Tráfego compactado GZIP produz erros, quando várias conexões são permitidas
Bug 51939 - Deve gerar uma nova amostra pai, se necessário, ao recuperar recursos incorporados
Bug 51942 - Problema de sincronização no CacheManager quando o download simultâneo é usado
Bug 51957 - A obtenção simultânea pode travar se uma tarefa não for concluída
Bug 51925 - Chamar Stop on Test vaza threads do executor quando o download simultâneo de recursos está ativado
Bug 51980 - HtmlParserHTMLParser conta duas imagens usadas em links
Bug 51919 - Random ConcurrentModificationException ou NoSuchElementException em CookieManager#removeMatchingCookies ao usar o download simultâneo
Bug 52126 - HttpClient4 não limpa cookies entre iterações
Bug 52129 - O tamanho do corpo relatado está errado ao usar o HTTP Client 4 e a conexão Keep Alive
Bug 52137 - Problemas com o Gerenciador de Cache HTTP
Bug 52221 - Exceção Nullpointer com uso Retrieve Embedded Resource sem HTTP Cache Manager
Bug 52310 - variável no IPSource falhou na solicitação HTTP se "Tamanho do pool simultâneo" estiver ativado
Bug 52371 - API Incompatibilidade - Métodos em HTTPSampler2 agora requerem PostMethod em vez de HttpMethod[Base]. Revertido para os tipos originais.
Bug 49950 - Proxy: IndexOutOfBoundsException ao gravar com o servidor Proxy
Bug 52409 - HttpSamplerBase#errorResult modifica sampleResult passado como parâmetro; código de correção que assume que uma nova instância é criada (ou seja, ao adicionar uma subamostra)
Bug 52507 - Excluir modificador de parâmetros do usuário Http (obsoleto, obsoleto)
Outros Amostradores
Bug 51996 - vazamento de contexto inicial do JMS Contexto recém-criado quando vários threads entram InitialContextFactory#lookupContext ao mesmo tempo
Bug 51691 - A autorização não funciona para JMS Publisher e JMS Subscriber
Bug 52036 - Falha de assinatura durável com ActiveMQ devido à falta do campo clientId
Bug 52044 - O Assinante JMS usado com muitos encadeamentos leva a javax.naming.NamingException: Algo já vinculado ao ActiveMQ
Bug 52072 - LengthPrefixedBinaryTcpClientImpl pode encerrar uma amostra prematuramente
Bug 52390 - AbstractJDBCTestElement: vazamento de memória e problema de sincronização no perConnCache
Controladores
Bug 51865 - Loop infinito dentro do grupo de threads não funciona corretamente se a opção "Iniciar próximo loop após um erro de amostra" estiver definida
Bug 51868 - Muitas exceções no jmeter.log ao usar a opção "Start next loop" para thread
Bug 51866 - Counter under loop não funciona corretamente se a opção "Start next loop on error" estiver definida para o grupo de threads
Bug 52296 - TransactionController + Children ThrouputController ou InterleaveController leva a ERROR sampleEnd chamado duas vezes java.lang.Throwable: Sequência de chamada inválida quando o TPC não executa amostra
Bug 52330 - Com next-Loop-On-Error após amostras de erro não serem executadas no próximo loop
Ouvintes
Bug 52357 - Exibir resultados na tabela não permite várias amostras de resultados
Bug 52491 - Análise incorreta de parâmetros de dados Post na visualização Tree Listener/Http Request
Asserções
Bug 52519 - XMLSchemaAssertion usa JMeter JVM file.encoding em vez de codificação de resposta
Funções
O exemplo CRLF para a função char estava errado; CRLF=(0xD,0xA), não (0xC,0xA)
I18N
Em geral
Bug 51937 - JMeter não lida bem com a entrada ausente do TestPlan
Bug 51988 - A configuração do conjunto de dados CSV não resolve o delimitador padrão para análise de cabeçalho quando o campo de variáveis está vazio
Bug 52003 - Exibir árvore de resultados "Rolar automaticamente" não rola corretamente caso os nós sejam expandidos
Bug 27112 - Parâmetros do usuário devem usar barras de rolagem
Bug 52029 - O desligamento da linha de comando só é enviado para o último mecanismo que foi iniciado
Bug 52093 - As dicas de ferramentas da barra de ferramentas não mudam o idioma
Bug 51733 - SyncTimer está confuso se você interromper um plano de teste
Bug 52118 - Nova barra de ferramentas: botões de desligamento e parada não desabilitados quando nenhum teste está sendo executado
Bug 52125 - StatCalculator.addAll(StatCalculator calc) junções incorretas se houver mais amostras com o mesmo tempo de resposta em um dos TreeMap
Bug 52339 - O modo estatístico JMeter em testes distribuídos mostra o tempo de resposta errado
Bug 52215 - Sincronização confusa no StatVisualizer, SummaryReport, Summariser e problema no StatGraphVisualizer
Bug 52216 - TableVisualizer: campo currentData está mal sincronizado
Bug 52217 - ViewResultsFullVisualizer: problemas de sincronização na raiz e treeModel
Bug 43294 - Problemas de namespace do XPath Extractor
Bug 52224 - TestBeanHelper não suporta NOT_UNDEFINED == Boolean.FALSE
Bug 52279 - Mudar para outro idioma perde ícones na Árvore e registra erro Não é possível obter a classe GUI de…
Bug 52280 - O item de menu Opções / Escolher idioma não altera todo o texto exibido para o novo idioma
Bug 52376 - StatCalculator#addValue(T val, int sampleCount) deve usar long, não int
Bug 49374 - A codificação de URLs de elementos incorporados depende da propriedade file.encoding
Bug 52399 - URLRewritingModifier usa file.encoding padrão para corresponder ao conteúdo de texto
Bug 50438 - o código calcula a média com matemática inteira, esperando valor duplo
Bug 52469 - Mudanças no suporte de SSH-Tunneling de tráfego RMI para teste remoto
Bug 52466 - Recurso de plano de teste de atualização: NameUpdater não atualiza propriedades
Bug 52503 - Unificar arquivo → Fechar e janela fechar comportamento de salvamento de arquivo
Bug 52537 - A ajuda não rola para corrigir a âncora quando o arquivo é carregado pela primeira vez
Melhorias
Amostradores HTTP
Bug 51981 - Melhor suporte para arquivo: protocolo no amostrador HTTP
Bug 52087 - A interface TCPClient não permite leituras parciais
Bug 52115 - SOAP/XML-RPC não deve enviar uma solicitação POST quando o arquivo a ser enviado não for encontrado
Bug 40750 - TCPSampler: Comportamento quando os soquetes são fechados pelo host remoto
Bug 52396 - TCP Sampler no "modo de conexão de reutilização" reutiliza a conexão do sampler anterior mesmo se estiver configurado com outro host, porta, usuário ou senha
Bug 52048 - BSFSampler, BSFPreProcessor e BSFPostProcessor devem compartilhar a mesma GUI
Controladores
Ouvintes
Bug 52022 - Em Exibir Árvore de Resultados, em vez de mostrar apenas uma mensagem se os resultados forem muito grandes, mostre o resultado que estiver configurado
Bug 52201 - Adicionar opção ao TableVisualiser para exibir amostras filho em vez de pai
Bug 52214 - Salvar respostas em um arquivo - melhorar o algoritmo de nomenclatura
Bug 52340 - Permitir que o modo de amostragem remota seja alterado em tempo de execução
Bug 52452 - Melhorias no Aggregate Graph Listener (GUI e configurações)
OldSaveService ressuscitado para permitir a leitura de arquivos JTL (resultado) no formato Avalon
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 51091 - Nova função retornando o nome do "Plano de Teste" atual
I18N
Em geral
Bug 51892 - A porta de espelho padrão deve ser diferente da porta de proxy padrão
Bug 51817 - Movendo variáveis para cima e para baixo no controle de Variáveis Definidas pelo Usuário
Bug 51876 - Funcionalidade para pesquisar em Samplers TreeView
Bug 52019 - Adicionar opção de menu para iniciar um teste ignorando os temporizadores de pausa
Bug 52027 - Permitir que System ou CrossPlatform LAF seja definido no menu de opções
Bug 52037 - Lembre-se de LaF definido pelo usuário durante as reinicializações.
Bug 51861 - Melhorar a GUI de solicitação HTTP para mostrar melhor os parâmetros sem nome (solicitações GWT RPC, por exemplo) (EM DESENVOLVIMENTO)
Bug 52040 - Adicionar uma barra de ferramentas na janela principal do JMeter
Bug 51816 - Campo Comentário no controle de Variáveis Definidas pelo Usuário.
Bug 52052 - Usando um delimitador para separar mensagens de resultado para assinante JMS
Bug 52103 - Adicionar opção de rolagem automática ao visualizador de tabela
Bug 52097 - Salvar como deve apontar para a mesma pasta que foi usada para abrir um arquivo se a lista MRU for usada
Bug 52085 - Permitir seleção múltipla no painel de argumentos
Bug 52099 - Permite definir o isolamento da transação na configuração de conexão JDBC
Bug 52116 - Permitir adicionar (colar) entradas da área de transferência para uma lista de argumentos
Bug 52160 - Não exibe itens TestBeanGui que são sinalizados como ocultos
Bug 51886 - Configuração do SampleSender resolvida parcialmente no cliente e parcialmente no servidor
Bug 52161 - Habilite plugins para adicionar suas próprias regras de tradução além de upgrade.properties. Carrega quaisquer propriedades adicionais encontradas nos arquivos META-INF/resources/org.apache.jmeter.nameupdater.properties
Bug 42538 - Adicionar "nó duplicado" no menu de contexto
Bug 46921 - Adicionada a capacidade de alterar os elementos do controlador
Bug 52240 - TestBeans deve suportar Boolean, Integer e Long
Bug 52241 - GenericTestBeanCustomizer assume que o valor padrão é a string vazia
Bug 52242 - FileEditor não permite que a saída seja salva em um arquivo
Bug 51093 - ao carregar uma seleção previamente armazenada por "Salvar Seleção como", mostrar o nome do arquivo na barra azul da janela
Bug 50086 - Campos de senha não ocultos no JMS Publisher, JMS Subscriber, Mail Reader sampler, SMTP sampler e Database Configuration
Bug 29352 - Use armazenamento externo para armazenar amostras durante o teste distribuído, Adicionado remetente de amostra remoto DiskStore: como Hold, mas salva amostras em disco até o final do teste.
Bug 52333 - Reduza a sobrecarga no cálculo de SampleResult#nanoTimeOffset
Bug 52346 - Shutdown detecta se há encadeamentos não-daemon restantes que impedem a saída da JVM.
Bug 52281 - Suporte para arrastar e soltar arquivos
Bug 52471 - Melhore o desempenho do servidor espelho usando o pool de threads em vez de iniciar um thread para cada solicitação
OldSaveService ressuscitado para permitir a leitura de arquivos JMX no formato Avalon (removido na versão 2.4)
Adicione uma caixa de diálogo para confirmar a remoção do(s) elemento(s) quando a ação Remover for chamada
Bug 41788 - Visualizador de log (janela do console) necessário como opção
Inclua a opção para alterar o tempo de pausa (padrão 2000ms) no encadeamento do daemon que verifica a saída bem-sucedida da JVM. O encadeamento não é iniciado agora, a menos que o tempo de pausa seja maior que 0.
Alterações não funcionais
correções para build.xml: scripts de suporte; localizar nomes de propriedades reutilizáveis
Bug 51923 - Bug de função de contador ou problema de documentação? (documentos fixos)
Atualize o velocity.jar para 1.7 (de 1.6.2)
Atualize js.jar para 1.7R3 (de 1.6R5)
Atualizar o codec comum 1.5 ⇒ 1.6
Atualizar commons-io 2.0.1 ⇒ 2.1
Atualizar commons-jexl 2.0.1 ⇒ 2.1.1
Atualizar jdom 1.1 ⇒ 1.1.2
Atualizar junho 4.9 ⇒ 4.10
Bug 51954 - Documentos gerados incluem </br> entradas que causam linhas extras em branco
Bug 52075 - JMeterProperty.clone() atualmente retorna Object; ele deve retornar JMeterProperty
Atualizado httpcore para 4.1.4
Bug 49753 - Por favor, publique os artefatos do jMeter no repositório central do Maven
Versão 2.5.1
Resumo das principais alterações
O amostrador HttpClient4 agora reutiliza as conexões corretamente (anteriormente, ele usava uma por amostra, o que poderia causar esgotamento de recursos rapidamente).
Várias correções para samplers JMS
As funções não são mais invocadas falsamente quando usadas com um elemento de configuração
A GUI do amostrador WebService foi reorganizada para melhor design e mais facilidade de uso. Algumas melhorias no assistente de configuração WSDL
Melhor manuseio do desligamento de teste. System.exit agora só é chamado se não houver outra opção; mesmo isso pode ser desativado.
Erros conhecidos
O Include Controller tem alguns problemas no modo não-GUI. Em particular, pode causar um NullPointerException se houver dois controladores de inclusão com o mesmo nome.
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
O controlador If pode causar um loop infinito se a condição for sempre falsa desde a primeira iteração. Uma solução é adicionar um amostrador no mesmo nível (ou superior) do controlador If. Por exemplo, um amostrador de ação de teste com 0 tempo de espera (que não gera uma amostra) ou um amostrador de depuração com todos os campos definidos como False (para reduzir o tamanho da amostra).
O item de menu Opções / Escolher idioma não altera todo o texto exibido para o novo idioma. [O comportamento melhorou, mas a mudança de idioma ainda não está funcionando totalmente] Para substituir totalmente o idioma local padrão, defina a propriedade "language" do JMeter antes de iniciar o JMeter.
Alterações incompatíveis
Os amostradores HttpClient4 e Commons HttpClient 3.1 anteriormente usavam uma contagem de repetição de 3. Isso foi alterado para o padrão 1, para ser compatível com a implementação Java. A contagem de novas tentativas pode ser substituída definindo a propriedade JMeter relevante, por exemplo:
httpclient4.retrycount=3
httpclient3.retrycount=3
Correções de bugs
Amostradores e proxy HTTP
Corrija o amostrador HttpClient 4 para que ele reutilize instâncias e conexões HttpClient sempre que possível.
Correção temporária para amostrador HC4 para contornar HTTPCLIENT-1120.
Bug 51863 - Muitas conexões ESTABELECIDAS com implementação HttpClient 4 (vs HttpClient 3.1 impl)
Bug 51750 - Recuperar todos os recursos incorporados não segue IFRAME
Bug 51752 - O cache HTTP é quebrado ao usar "Recuperar todos os recursos incorporados" com pool simultâneo
Bug 39219 - Servidor HTTP: Você não pode pará-lo após Arquivo → Abrir
Bug 51775 - Número de porta duplicado no cabeçalho do Host ao capturar por HttpClient (3.1 e 4.x)
Bug 50617 - A legenda dos resultados do monitor mostra o servidor "morto", embora os valores do servidor sejam recuperados
Outros Amostradores
Bug 50424 - Caixa de lista suspensa de métodos da Web inconsistente
Bug 43293 - Campos de solicitação de Java não limpos ao criar um novo amostrador
Bug 51830 - Webservice Soap Request aciona muitos pop-ups quando a URL WSDL do Webservice está inativa
Solicitação de WebService (SOAP) - adicione um tempo limite de conexão para obter o wsdl usado para preencher os métodos da Web quando o servidor não responder
Bug 51841 - JMS: Se ocorrer um erro no construtor ReceiveSubscriber ou no Publicador, as conexões permanecerão abertas
Bug 51691 - A autorização não funciona para JMS Publisher e JMS Subscriber
Bug 51840 - JMS: Cache de InitialContext tem alguns problemas
Bug 47888 - JUnit Sampler reutiliza objeto de teste
Controladores
If Controller - Corrigido duas regressões introduzidas pelo
Bug 50032 (veja
o Bug 50618 também)
If Controller - Captura um StackOverflowError quando uma condição retorna sempre false (após pelo menos uma iteração com retorno true) Veja
Bug 50618
Bug 51869 - Exceção NullPointer ao usar o Include Controller
Ouvintes
Asserções
Funções
Bug 48943 - As funções são invocadas mais vezes quando usadas em combinação com um elemento de configuração
I18N
Solicitação de WebService (SOAP) - adicione I18N para alguns rótulos
Em geral
Bug 51831 - Não é possível desabilitar o servidor UDP ou alterar a porta UDP máxima
Bug 51821 - Adicionar atalho para habilitar/desabilitar (sub)árvore ou ramificações no plano de teste.
Bug 47921 - Variáveis não liberadas para GC após a saída do JMeterThread.
Bug 51839 - "… fim de execução" impresso prematuramente
Bug 51847 - Alguns testes JUnit são sensíveis à localidade e falham se a localidade for diferente dos EUA
Bug 51855 - As amostras pai podem ter tempos decorridos ligeiramente imprecisos
Bug 51880 - O comando de desligamento não está funcionando se eu invocá-lo antes que todos os threads sejam iniciados
O item de menu do host Remote Shut não estava sendo ativado.
Bug 51888 - Deadlock ocasional ao interromper um plano de teste
Melhorias
Amostradores HTTP
Bug 51380 - Controlar a reutilização de contexto SSL em cache de iteração para iteração
Bug 51882 - HTTPHC3Client usa uma contagem de repetição padrão de 3, torne-o configurável; o padrão agora é 1
Altere a contagem de novas tentativas do amostrador HttpClient 4 padrão para 1
Bug 51605 - Solicitação de WebService(SOAP) - O valor do campo WebMethod muda sub-repticiamente para todas as solicitações quando um valor é selecionado em uma solicitação
Solicitação de WebService (SOAP) - GUI reorganizada para melhor design e mais facilidade de uso
Controladores
Ouvintes
Bug 42246 - Necessidade de uma opção 'auto-scroll' em "View Results Tree" e "Assertion Results"
Exibir árvore de resultados: Regexp Tester - pequenas melhorias na interface do usuário
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 51885 - Permitir uma variável JMeter como entrada para XPathExtractor
Funções
I18N
Em geral
Bug 51822 - (parte 1) salve 1 invocação de GuiPackage#getCurrentGui
Adicionado AsynchSampleSender que envia amostras do servidor para o cliente de forma assíncrona.
Atualizado para htmlparser 2.1; Java Mail 1.4.4; JUnit 4.9
Alterações não funcionais
Bug 49976 - A visibilidade de FormCharSetFinder é padrão em vez de pública.
Bug 50917 - Propriedade CookieManager.save.cookies não respeitada quando definida a partir do plano de teste
Melhore o registro de erros quando erros de Javascript são detectados.
Rodapé de documentação atualizado
Versão 2.5
Resumo das principais alterações
A implementação HTTP agora pode ser selecionada em tempo de execução, e o JMeter agora também suporta Apache HttpComponents HttpClient 4.x. Observe que o Commons HttpClient 3.1 não é mais desenvolvido ativamente e o suporte pode ser removido do JMeter em uma versão futura.
O amostrador HTTP agora permite downloads simultâneos de recursos incorporados em uma página HTML
O HTTP Sampler agora pode relatar o tamanho de uma solicitação antes da descompactação.
Os amostradores JMS e Mail foram aprimorados.
O novo elemento de teste de fragmento de teste facilita o uso de controladores de inclusão
Existem várias melhorias no Ouvinte da Árvore de Resultados da Visualização
Bug 30563 - Thread Group deve ter uma opção start next loop no Sample Error
Existem dois novos tipos de grupos de threads - setUp e tearDown - que são executados antes e depois dos principais grupos de threads.
O modo cliente-servidor agora suporta parada/encerramento externo via UDP
. Várias instâncias do servidor JMeter podem ser iniciadas no mesmo host sem a necessidade de alterar a propriedade da porta.
Bug 50516 - O cabeçalho "Host" no HTTP Header Manager não está incluído na solicitação HTTP gerada
Erros conhecidos
O Include Controller tem alguns problemas no modo não-GUI. Em particular, pode causar um NullPointerException se houver dois controladores de inclusão com o mesmo nome.
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
O item de menu Opções / Escolher idioma não altera todo o texto exibido para o novo idioma. [O comportamento melhorou, mas a mudança de idioma ainda não está funcionando totalmente] Para substituir totalmente o idioma local padrão, defina a propriedade "language" do JMeter antes de iniciar o JMeter.
Alterações incompatíveis
Os métodos não suportados não são mais convertidos em GET pelo amostrador Commons HttpClient.
Removido o método public static long currentTimeInMs(). Isso foi substituído pelo método de instância public long currentTimeInMillis().
ProxyControl.getSamplerTypeName() agora retorna uma String em vez de um int. Isso é interno ao funcionamento do JMeter Proxy e sua GUI, portanto, não deve afetar nenhum código de usuário.
Correções de bugs
Amostradores e proxy HTTP
Bug 50178 - HeaderManager adicionado como filho de Thread Group pode criar nomes de HeaderManager concatenados e OutOfMemoryException
Bug 50392 - o valor é aparado ao enviar a solicitação em Multipart
Bug 50686 - Log de HeaderManager muito detalhado ao mesclar instâncias
Bug 50516 - O cabeçalho "Host" no HTTP Header Manager não está incluído na solicitação HTTP gerada
Bug 50544 - No Apache Common Log as solicitações HEAD causam problemas.
Bug 51268 - A solicitação HTTPS por meio de um proxy inválido causa NullPointerException e não aparece na árvore de resultados. Em vez de delegar ao manipulador de encadeamento do JMeter falhas "inesperadas", certifique-se de que todas as exceções gerem um erro de amostra.
Bug 51275 - Cookie Panel clearGui() define a política padrão incorreta no Java 1.6
Outros Amostradores
Bug 50173 - JDBCSampler descarta ResultSet de um PreparedStatement
Certifique-se de que o Amostrador JSR223 tenha acesso ao SampleResult atual
Bug 50977 - Não é possível definir o TCP Sampler para amostras individuais
Controladores
Bug 50032 - Last_Sample_Ok junto com outros controladores não funcionam corretamente quando o grupo de threads tem vários loops
Bug 50080 - O controlador de transação cria amostras incorretamente, incluindo a duração do temporizador
Bug 50134 - TransactionController: Relata tempo de resposta ruim quando contém outros TransactionControllers
Ouvintes
Bug 50367 - Limpar / Limpar tudo na árvore de resultados de exibição não limpa o elemento selecionado
Asserções
Bug 51488 - Asserção: O escopo do nome da variável é compartilhado entre todas as asserções (e
Bug 51255 )
Funções
Bug 50568 - Função __FileToString(): Não foi possível ler o arquivo quando a opção de codificação está em branco/vazia
Bug 50088 - corrige getAvgPageBytes no SamplingStatCalculator para que ele retorne o que deveria
Bug 50203 Não é possível definir a propriedade "jmeter.save.saveservice.default_delimiter=\t"
mirror-server.sh - corrige o caminho de classe para usar: separador (não ;)
Bug 50286 - Modificador de reescrita de URL: o valor jsessionid extraído está incorreto quando está entre as tags XML
System.nanoTime() tende a flutuar em relação a System.currentTimeMillis(). Altere SampleResult para recalcular o deslocamento a cada vez. Habilite também a reversão usando somente System.currentTimeMillis().
Bug 50425 - Remover grupos de threads do menu de adição do controlador
Bug 50675 - Configuração do Conjunto de Dados CVS incompatível com Inicialização Remota Corrigida a inicialização do RMI para fornecer a localização do arquivo JMX em relação ao user.dir.
Bug 50221 - Renomear elementos na árvore não redimensiona o rótulo
Bug 51002 - Parar Thread se o arquivo CSV não estiver disponível. JMeter agora trata IOError como EOF.
Defina sun.net.http.allowRestrictedHeaders=true por padrão. Isso corrige
o Bug 51238 .
Bug 51645 - CSVDataSet não lê arquivos UTF-8 quando file.encoding é UTF-8
Melhorias
Amostradores HTTP
AJP Sampler agora implementa Interruptible
Permitir que a implementação HTTP seja selecionada em tempo de execução
Bug 50684 - Opcionalmente desabilite Content-Type e Transfer-Encoding em Multipart POST
Bug 50943 - Permitindo downloads simultâneos de recursos incorporados na página html
Bug 50170 - Bytes relatados pelo amostrador http é após GUnZip Adicionar propriedades opcionais para permitir alterar o método para obter o tamanho da resposta
Escondendo a senha do proxy no HTTP Sampler (apenas na GUI, não no arquivo JMX)
Outros amostradores
Bug 49622 - Permitir o envio de mensagens sem assunto (SMTP Sampler)
Bug 49603 - Permitir aceitar certificados expirados no Mail Reader Sampler
Bug 49775 - Permitir o envio de mensagens sem corpo
Bug 49862 - Melhora a saída da solicitação SMTPSampler.
Bug 50268 - Adiciona destinos estáticos e dinâmicos ao JMS Publisher
Assinante JMS - Adicionar destino dinâmico
Bug 50666 - JMSSubscriber: suporte para assinaturas duráveis
Bug 50937 - O TCP Sampler não fornece / honra o tempo limite de conexão
Bug 50569 - Jdbc Request Sampler para armazenar opcionalmente dados do objeto do conjunto de resultados
Bug 51011 - Mail Reader: em caso de falha de autenticação, diga o que você tentou
Controladores
Bug 50475 - Introdução de um elemento de teste de fragmento de teste para um fluxo de inclusão melhor
Ouvintes
Exibir árvore de resultados - Adicione uma caixa de texto de diálogo na guia "Resultado do amostrador → Analisado" para exibir o valor longo com um clique duplo na célula
Bug 37156 - Visualização formatada da solicitação na árvore de resultados
Bug 49365 - Permitir que o conjunto de resultados seja gravado no arquivo em um caminho relativo ao script carregado
Bug 50579 - A contagem de erros é longa, a contagem de amostras é int. Contagem de amostra alterada para longa.
Exibir árvore de resultados - Adicionar novos campos de tamanho: cabeçalhos de resposta e corpo de resposta (em bytes) - derivados do
Bug 43363
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 48015 - Proposta de novos ícones para pré-processador, pós-processador e elementos de asserção
Bug 50962 - A validação SizeAssertionGui impede o uso de variáveis para o tamanho
Asserção de tamanho - Adicionar escopo de tamanho de resposta (completo, cabeçalhos, corpo, código, mensagem) - derivado do
Bug 43363
Funções
Bug 49975 - Nova função retornando o nome do sampler atual
I18N
Adicione a tradução francesa para os novos rótulos e reduza o tamanho de alguns rótulos (por abreviação) no exemplo HTTP
Em geral
Bug 30563 - Thread Group deve ter uma opção start next loop no Sample Error
Bug 50347 - As instruções de configuração do Eclipse devem lembrar o usuário de baixar jars dependentes
Bug 50490 - Aprimoramentos de configuração e pós-grupo de threads para melhor fluxo de teste.
Todos os elementos de teste do BeanShell agora têm as variáveis de script "prev" e "Label" definidas.
Bug 50708 - A ordem do jar do classpath no NewDriver não está em ordem alfabética
Bug 50659 - O servidor JMeter não suporta testes simultâneos - impede que o cliente inicie outro
Adicionada funcionalidade de desligamento remoto
O mecanismo Client JMeter agora suporta parada/desligamento externo via UDP
O desligamento do UDP agora pode usar uma variedade de portas, de jmeterengine.nongui.port=4445 a jmeterengine.nongui.maxport=4455, permitindo várias instâncias do JMeter no mesmo host sem a necessidade de alterar a propriedade da porta.
Atualizado para httpcore 4.1.3 e httpclient 4.1.2
Alterações não funcionais
Bug 50008 - Permitir que BatchSampleSender seja subclassificado
Bug 50450 - use a cópia do System.array no jacobi solver pois, sendo nativo, é mais performático.
Bug 50487 - runSerialTest verifica objetos que nunca precisam persistir
Use Thread.setDefaultUncaughtExceptionHandler() em vez de ThreadGroup privado
Atualização para Commons Net 3.0
Versão 2.4
Resumo das principais alterações
O JMeter agora requer pelo menos Java 1.5.
HTTP Proxy agora pode gravar sessões HTTPS.
O amostrador JUnit agora suporta anotações JUnit4.
Adicionados elementos de teste JSR223 (javax.script).
O MailReader Sampler agora pode usar qualquer protocolo suportado pela implementação subjacente.
Um amostrador SMTP foi adicionado.
O JMeter agora permite que os usuários forneçam suas próprias implementações de grupos de threads.
Exibir árvore de resultados agora suporta mais opções de exibição, incluindo pesquisa e teste de Regex.
O desempenho do StatCalculator é muito aprimorado; Relatório agregado etc. precisam de muito menos memória.
Os amostradores JMS foram amplamente retrabalhados e não devem mais perder mensagens. O processamento de correlação é aprimorado. O Editor e Assinante JMS agora suportam Tópicos e Filas.
Muitas outras melhorias foram feitas, veja abaixo e no manual.
Erros conhecidos
O Include Controller tem alguns problemas no modo não-GUI. Em particular, pode causar um NullPointerException se houver dois controladores de inclusão com o mesmo nome.
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
O item de menu Opções / Escolher idioma não altera todo o texto exibido para o novo idioma. [O comportamento melhorou, mas a mudança de idioma ainda não está funcionando totalmente] Para substituir totalmente o idioma local padrão, defina a propriedade "language" do JMeter antes de iniciar o JMeter.
Alterações incompatíveis
O redirecionamento HTTP agora é padronizado para "Seguir redirecionamentos" em vez de "Redirecionar automaticamente". Isso permite que o JMeter rastreie os cookies que podem ser enviados durante os redirecionamentos. Isso não afeta os planos de teste existentes; ela afeta apenas o padrão para novos Amostradores HTTP.
O formato de arquivo Avalon para arquivos JMX e JTL não é mais suportado. Esses arquivos precisarão ser convertidos lendo-os no JMeter 2.3.4 e salvando-os novamente.
Os elementos XPath Assertion e XPath Extractor não buscam mais DTDs externos por padrão; isso pode ser alterado na GUI.
JMSConfigGui foi renomeado como JMSSamplerGui. Isso não afeta os planos de teste existentes.
O construtor public SampleResult(SampleResult res) foi alterado para se tornar um verdadeiro "construtor de cópia". Ele não chama mais addSubResult(). Isso pode afetar alguns complementos de terceiros.
Correções de bugs
Amostradores e proxy HTTP
Bug 47445 - Usar Proxy com cookies seguros de falsificação de https precisa ser desprotegido
Bug 47442 - Substituição ausente de https por http para certas condições usando https-spoofing
Bug 48451 - Erro em: SoapSampler.setPostHeaders(PostMethod post) no else branch
Bug 48542 - SoapSampler usa campo de cabeçalho de resposta errado para decidir se a resposta é codificada em gzip
Bug 48568 - CookieManager quebrado para AjpSampler
Bug 48570 - AjpSampler não suporta parâmetros de consulta (GET/POST)
Bug 46901 - HTTP Sampler não processa var/func refs corretamente no primeiro parâmetro de arquivo
Bug 43678 - Manipular o conjunto de caracteres http-equiv da tag META?
Bug 49294 - Imagens não baixadas de páginas redirecionadas
Bug 49560 - "tamanho em bytes" incorreto ao seguir redirecionamentos
Outros Amostradores
Bug 47420 - Solicitação estendida de LDAP não fechando conexões durante a solicitação de adição
Bug 48573 - Manipulação de contexto de diretório LDAPExtSampler
Bug 48709 - A configuração do TCP Sampler Config "classname" não tem efeito
Controladores
Bug 47385 - TransactionController deve definir AllThreads e GroupThreads
Bug 47940 - O controlador do módulo cria incorretamente a Sub-árvore de substituição
Bug 47592 - Executar grupos de threads consecutivamente com "Stop test" em erro, o JMeter não marcará como concluído
Bug 48786 - Executar grupos de threads consecutivamente: com "Stop test now" em erro ou parada manual, o JMeter deixa a caixa verde ativa
Bug 48727 - Não é possível parar o teste se todos os grupos de threads estiverem desabilitados
Ouvintes
Bug 48603 - Mailer Visualiser envia dois e-mails para uma única resposta com falha
Cálculo correto de min/max/std.dev para amostras agregadas (Relatório de resumo)
Bug 48889 - Tempo de resposta errado com mode=Statistical e num_sample_threshold > 1
Bug 47398 - SampleEvents são enviados duas vezes por RMI em teste distribuído e modo não GUI
Asserções
Funções
I18N
Em geral
Bug 47646 - NullPointerException no elemento "variável aleatória"
Não permitir a adição de qualquer elemento filho à configuração JDBC
BeanInfoSupport agora armazena em cache getBeanDescriptor() - deve evitar um NPE em JVMs não Sun ao usar CSVDataSet (e alguns outros TestBeans)
Bug 48350 - Deadlock em testes distribuídos com 2 clientes
Bug 48901 - espera infinita adicionando o temporizador de sincronização
Bug 49149 - usermanual/index.html tem erro de digitação no link para a página "Expressões regulares"
Bug 49394 - Exceção de Classcast em ActionRouter.postActionPerformed
Bug 48136 - Arquivos essenciais ausentes do tarball de origem.
Os arquivos de origem agora contêm todos os arquivos de origem, incluindo os arquivos de origem fornecidos anteriormente apenas nos arquivos binários.
Bug 48331 - XpathExtractor não retorna representações de string XML para um Nodeset
Bug 47474 - Exibir suporte à árvore de resultados para renderizadores de plug-in
Permitir que o tempo ocioso seja salvo em arquivos de log de amostra
Bug 48259 - Melhore o desempenho do StatCalculator usando TreeMap
Os ouvintes que usam SamplingStatCalculator têm necessidades de memória muito reduzidas, pois o cache de amostra foi movido para a nova classe CachingStatCalculator. Em particular, o Relatório Agregado agora pode lidar com um grande número de amostras.
O Relatório Agregado e o Relatório de Resumo agora permitem que os cabeçalhos das colunas sejam opcionalmente excluídos
Bug 49506 - Adicionar extensão de arquivo .csv na caixa de diálogo aberta da funcionalidade "ler do arquivo" dos ouvintes
Bug 49545 - Visualização formatada (analisada) do Resultado da Amostra na Árvore de Resultados
Temporizadores, asserções, configuração, pré e pós-processadores
Bug 47338 - XPath Extractor força a recuperação do documento DTD
Asserção de comparação adicionada
Bug 47952 - Adicionado pré-processador e pós-processador JSR223
Adicionada asserção JSR223
Adicionado temporizador BSF e temporizador JSR223
Bug 48511 - adicione pai, filho, todas as seleções ao extrator de regex
Adicionar seleção de escopo do Sampler ao XPathExtractor
Extrator de Expressão Regular, Asserção de Resposta e Asserção de Tamanho agora podem ser aplicados a uma variável JMeter
Bug 46790 - A configuração do conjunto de dados CSV deve ser capaz de analisar os cabeçalhos CSV
Bug 47223 - Desempenho de relatório agregado lento (StatCalculator)
Bug 47980 - o nome do host resolve para 127.0.0.1 - não é possível especificar o IP
Bug 47943 - DisabledComponentRemover não é usado na classe Start
Classe HeapDumper para geração de dumps em tempo de execução
Implementação básica do provedor JavaMail somente leitura para leitura de arquivos de correio bruto
Bug 49540 - Classifique os menus "Adicionar" em ordem alfabética
Alterações não funcionais
Os jars Beanshell, JavaMail e JMS API (Apache Geronimo) agora estão incluídos no arquivo binário.
Adicionar suporte ao Editor de Tabelas TestBean
Removidas todas as bibliotecas externas do SVN; adicionado download_jars destino Ant
Vários arquivos jar atualizados:
BeanShell - 2.0b4 ⇒ 2.0b5
Codec comum - 1.3 ⇒ 1.4
Commons-Coleções - 3.2 ⇒ 3.2.1
JTidy ⇒ r938
JUnit - 3.8.2 ⇒ 4.8.1
Logkit - 1,2 ⇒ 2,0
Serializador Xalan = 2.7.1 (anteriormente mostrado erroneamente como 2.9.1)
Xerces xml-apis = 1.3.04 (anteriormente mostrado erroneamente como 2.9.1)
Alguns arquivos jar foram renomeados.
Versão 2.3.4
Resumo das principais alterações
Esta é uma versão de correção de bug menor, principalmente para corrigir alguns bugs que foram adicionados acidentalmente na versão 2.3.3.
Erros conhecidos
O Include Controller tem alguns problemas no modo não-GUI. Em particular, pode causar um NullPointerException se houver dois controladores de inclusão com o mesmo nome.
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
O item de menu Opções / Escolher idioma não altera todo o texto exibido para o novo idioma. [O comportamento melhorou, mas a mudança de idioma ainda não está funcionando totalmente] Para substituir totalmente o idioma local padrão, defina a propriedade "language" do JMeter antes de iniciar o JMeter.
Correções de bugs
Amostradores e proxy HTTP
Bug 47321 - Tempo limite de resposta HTTPSampler2 não respeitado
Outros Amostradores
Bug 47290 - Loop infinito na pesquisa de fábrica de conexão (JMS)
O JDBC Sampler não deve fechar as instruções Prepared ou Callable, pois elas são armazenadas em cache
Controladores
Bug 39509 - Controlador de apenas uma vez executando duas vezes
Ouvintes
Altere ResultCollector para avisar apenas se o diretório não foi criado
Corrige alguns problemas de sincronização em ResultCollector e SampleResult (bloqueios errados estavam sendo usados)
I18N
Corrigido bug introduzido na versão 2.3.3: JMeter não inicializa se não houver arquivo messages.properties para o Locale padrão.
Em geral
Corrigir problemas com clientes remotos - bug introduzido em 2.3.3
Bug 47377 - Tornar o ClassFinder mais robusto e fechar os recursos do arquivo zip
Corrige alguns erros na geração da documentação (bug latente revelado em 2.3.3 quando o Velocity foi atualizado)
Melhorias
Outros amostradores
Bug 47266 - FTP Request Sampler: permite especificar uma porta FTP, diferente do padrão
Versão 2.3.3
Resumo das principais alterações
A manipulação de encerramento de teste é muito melhorada. O comando "Shutdown" gradual agora espera até que todos os encadeamentos tenham parado e não relata um erro se os encadeamentos não pararem em 5 segundos. O comando imediato "Stop" agora pode ser usado se "Shutdown" demorar muito. Além disso, o comando imediato "Stop" é capaz de interromper samplers que suportam a nova interface Interruptible (por exemplo, HTTP e SOAP, FTP). Isso permite a conclusão imediata de respostas pendentes. Testes de modo não GUI também podem agora receber uma mensagem "Shutdown" ou "Stop".
A ação de teste agora suporta uma ação "Parar agora", assim como os elementos Thread Group e Result Status Action Handler Post Processor.
O manuseio de cookies HTTP foi aprimorado e o HTTP POST agora pode usar nomes de arquivos variáveis corretamente. Codificações de caracteres de amostrador HTTP, SOAP/XML-RPC e WebService(SOAP) atualizadas para serem mais consistentes. Os amostradores HTTP agora suportam tempos limite de conexão e resposta (requer JVM 1.5 para o amostrador HTTP Java). Juntamente com as melhorias de fechamento descritas acima, isso deve evitar a maioria dos casos em que uma execução de teste trava. Vários elementos do Header Manager agora são suportados para um único amostrador HTTP. O Proxy Server foi aprimorado e não armazena mais os cabeçalhos "Host" por padrão.
A Solicitação JDBC pode opcionalmente salvar os resultados das instruções Select em variáveis. A solicitação JDBC agora lida com strings entre aspas e UTF-8 e pode manipular tipos de variáveis arbitrárias.
Existem várias novas funções : Função __char(): permite que caracteres Unicode arbitrários sejam inseridos em campos. Função __unescape(): permite que strings com escape Java sejam usadas. Função _unescapeHtml(): decodifica texto codificado em Html. Função __escapeHtml(): codifica texto usando codificação Html. Uma referência a uma função ausente - por exemplo, ${__missing(a)} - agora é tratada da mesma forma que uma variável ausente. Anteriormente, o nome da função - e o { inicial - foram descartados. Isso facilita a depuração dos planos de teste.
Algumas asserções agora podem ser aplicadas a subamostras, bem como (ou em vez de) apenas a amostra pai. Há um novo elemento de configuração
de variável aleatória .
Os amostradores JMS foram muito aprimorados (veja os detalhes abaixo). O TCP Sampler agora suporta alguns clientes adicionais e é um pouco mais flexível.
O modo cliente-servidor foi aprimorado e o servidor pode, opcionalmente, usar uma porta RMI fixa, o que deve ajudar na configuração de firewalls.
Várias mudanças no I18N foram feitas; a mudança de idioma funciona melhor (embora ainda não seja perfeita). Há traduções melhoradas para o francês, bem como novas traduções para o polonês e português do Brasil.
O jar do BeanShell agora está incluído no arquivo binário; não há necessidade de baixá-lo separadamente.
Erros conhecidos
O Include Controller tem alguns problemas no modo não-GUI. Em particular, pode causar um NullPointerException se houver dois controladores de inclusão com o mesmo nome.
O controlador Once Only se comporta corretamente em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
O item de menu Opções → Escolher idioma
não altera todo o texto exibido para o novo idioma. [O comportamento melhorou, mas a mudança de idioma ainda não está funcionando totalmente] Para substituir totalmente o idioma local padrão, defina a propriedade JMeter " language " antes de iniciar o JMeter.
Alterações incompatíveis
Ao carregar resultados de amostra de um arquivo, os resultados anteriores não são mais apagados. Isso permite mesclar vários arquivos. Se o comportamento anterior for necessário, use o item de menu Executar → Limpar
( Ctrl + Shift + E )
ou Executar → Limpar tudo
( Ctrl + E )
antes de carregar o arquivo.
Os elementos de teste "Salvar resultados em um arquivo" e "Gerar resultados de resumo" agora são mostrados como Ouvintes. Eles eram mostrados anteriormente como Pós-Processadores, embora sejam implementados como Ouvintes.
O Cookie Manager não salva mais os cookies recebidos como variáveis por padrão. Para salvar cookies como variáveis, defina a propriedade " CookieManager.save.cookies=true ". Além disso, os nomes dos cookies são prefixados com " COOKIE_ " antes de serem armazenados (isso evita a corrupção acidental de variáveis locais) Para reverter ao comportamento original, defina a propriedade " CookieManager.name.prefix= " (um ou mais espaços).
O elemento Counter agora é mostrado como um elemento Configuration. Anteriormente era mostrado como um pré-processador, embora seja implementado como um item de configuração.
As alterações acima afetam apenas os ícones exibidos e os locais nos menus pop-up da GUI. Eles não afetam os planos de teste ou o comportamento do teste.
Os PreProcessors agora são invocados diretamente pela classe JMeterThread, em vez do método TestCompiler#configureSampler(). (JMeterThread lida com os PostProcessors). Isso não afeta os planos de teste ou o comportamento, mas talvez possa afetar os complementos de terceiros (muito improvável).
Movida a subseção Regras de Escopo da Seção 3. "Construindo um Plano de Teste" para a Seção 4. "Elementos de um plano de teste"
O controlador While agora apara os espaços à esquerda e à direita do valor da condição antes de ser comparado com LAST , em branco ou falso.
A variável "threadName" nas funções _jexl() e __javaScript() foi anteriormente escrita incorretamente como "theadName".
Os seguintes métodos obsoletos foram removidos de JOrphanUtils: booleanToString(boolean) e valueOf(boolean). Java 1.4+ tem esses métodos na classe Boolean.
A interface TestElement tem alguns novos métodos:
void setProperty(chave de string, valor de string, String dflt)
void setProperty(Chave de string, valor booleano, dflt booleano)
void setProperty(String chave, valor int)
void setProperty(String key, int value, int dflt)
int getPropertyAsInt(String key, int defaultValue)
Eles são implementados na classe AbstractTestElement, que todos os elementos devem estender, portanto, é improvável que isso cause um problema.
Correções de bugs
Amostradores e proxy HTTP
Bug 46332 - HTTP Cookie Manager ignora cookies definidos manualmente (bug introduzido em r707810)
O Cookie Manager não estava passando a política de cookies para threads de tempo de execução, então eles sempre usavam o modo de compatibilidade
Adicionar atributo de versão à classe JMeter Cookie (necessário para suporte adequado a cookies)
O Cookie Manager agora salva/restaura versões de cookies
Verifique a validade dos cookies antes de armazená-los.
HTTPSamplers agora podem usar variáveis em nomes de arquivos POSTados
Corrige o processamento do primeiro nome de arquivo em HTTP POST para que funções/variáveis funcionem (bug introduzido com suporte a vários arquivos)
Bug 45831 - WS Sampler relata taxa de transferência incorreta se a criação do pacote SOAP falhar
Codificações de caracteres de amostrador HTTP, SOAP/XML-RPC e WebService (SOAP) atualizadas para serem mais consistentes
Bug 46148 - O amostrador HTTP falha em solicitações SSL quando o log para jmeter.util está definido como DEBUG
Corrigir o erro https do Java 1.6: java.net.SocketException: Soquetes desconectados não implementados
Bug 46838 - se não houver dados, ainda precisa definir a latência no HTTPSampler
Bug 46993 - Salvar do Header Manager gera ClassCastException
Bug 46690 - tratamento de redirecionamentos 302 com caminhos relativos inválidos. O JMeter agora remove os segmentos "../" principais estranhos (assim como muitos navegadores)
Bug 44521 - variáveis vazias para um POST na solicitação HTTP não são ignoradas
Bug 46977 - JMeter não lida com cabeçalhos HTTP não delimitados por espaços em branco
Correção de bug no arquivo HTTP: manipulação - ler bytes, não caracteres na codificação padrão.
Remova o Host dos cabeçalhos salvos pelo servidor Proxy, pois normalmente será gerado pela pilha HTTP
Bug 45199 - não tente substituir variáveis em branco na gravação de proxy
Altere a falsificação de HTTPS para que https: os links sejam substituídos mesmo quando a correspondência de URL falhar
Bug 46436 - Melhore o relatório de erros no Proxy Gui
Bug 46435 - Mensagem de erro mais detalhada para o erro 501 (Proxy Server)
Outros Amostradores
Os objetos "prev" e "sampler" agora são definidos para elementos de teste BSF
Corrigir NPE (em DataSourceElement) ao usar JDBC no modo cliente-servidor
Bug 45425 - Solicitação JDBC não suporta Unicode (amostrador alterado para usar UTF-8)
Bug 46522 - "Dados de resposta" incorretos na amostra JDBC quando os nomes das colunas estão ausentes
Bug 46821 - JDBC select request não armazena a primeira coluna nas variáveis
Bug 43791 - certifique-se de que o QueueReceiver esteja fechado no amostrador JMS Point to Point
Bug 45458 - Point to Point JMS em combinação com autenticação
Bug 45460 - Os elementos JMS TestPlan dependem da propriedade do recurso
Várias correções de segurança de thread do ReceiveSubscriber
Correções do JMSPublisher e do Assinante: segurança de encadeamento, suporte a mudanças dinâmicas de localidade, independência de localidade para valores de atributo JMX
O FTP Sampler agora efetua logout antes de desconectar.
O amostrador TCP agora chama os métodos setupTest() e teardownTest()
Bug 45887 - TCPSampler: propriedade de tempo limite definida incorretamente
Controladores
Corrija o NPE ao usar controladores de transação aninhados com amostras pai
Corrige o processamento do modo pai do Transaction Controller para que o amostrador atual seja definido como amostrador real
Bug 44941 - Os controladores de taxa de transferência não devem compartilhar contadores globais
Bug 47120 - Controlador de taxa de transferência: altera o percentual de execuções para o total de execuções, o valor é armazenado em uma String e interpretado como 1 execução
Bug 47150 - ThreadGroup com uma contagem de loop de zero causa loop infinito
Bug 47009 - Inserir pai fez com que o nome do controlador filho fosse redefinido
Bug 47165 - Usar nomes de controlador de módulo duplicados no modo de linha de comando causa NPE
Ouvintes
A documentação do Mailer Visualizer agora concorda com o código, ou seja, as contagens de falha/sucesso precisam ser excedidas para acionar o e-mail.
Mailer Visualizer agora mostra a contagem de falhas
Mailer Visualiser - corrige a análise de vários endereços de e-mail ao usar o botão Testar
Bug 45976 - arquivo de resultado incompleto ao usar testes remotos com mais de 1 servidor
Corrija o Summariser para que funcione no modo cliente-servidor
Bug 34096 - Amostras duplicadas não eliminadas ao gravar em arquivos CSV
Salvar a configuração "Incluir nome do grupo no rótulo" nos relatórios agregados e de resumo
A variável JMeter "sample_variables" é enviada para todas as instâncias do servidor para garantir que os dados estejam disponíveis para o cliente.
CSVSaveService - verifique o EOF ao ler a string entre aspas
Asserções
Bug 45749 - Asserção de resposta não funciona com uma substring que é uma RE inválida
Bug 45904 - Permitir que a declaração de resposta 'Não' seja bem-sucedida com amostra nula
Funções
Corrigir a função regex - estava falhando ao processar $m$mid$n$ corretamente
Proteja contra possível NPE em RegexFunction se chamado durante o desligamento do teste.
Evite NPE se a função XPath não corresponder a nenhum nó
Corrija o nome da variável "theadName" para "threadName" nas funções __jexl() e __javaScript()
Uma referência a uma função ausente - por exemplo, ${__missing(a)} - agora é tratada da mesma forma que uma variável ausente. Anteriormente, o nome da função - e o { inicial - foram descartados.
I18N
Corrigido o tratamento de mudança de idioma para menus (ainda não funciona para TestBeans)
Adicione HeaderAsPropertyRenderer para dar suporte a nomes de recursos de cabeçalho; use isso para corrigir alterações de localidade em vários elementos da GUI
Bug 45928 - O Sampler AJP/1.3 não recupera seu rótulo de messages.properties
Em geral
Solicitar a substituição de um arquivo existente ao salvar um novo plano de teste pela primeira vez
Altere TestBeans para mostrar o menu pop-up correto para Listeners
Bug 45185 - O delimitador em branco do conjunto de dados CSV causa OOM
Corrija classificações de GUI incorretas: "Salvar resultados em um arquivo" e "Gerar resultados de resumo" agora são mostrados como ouvintes. "Contador" agora é mostrado como um elemento de configuração.
Bug 41608 - mensagem de log de aviso enganosa removida
Bug 46359 - O pré-processador JavaScript BSF não pode acessar a variável sampler na primeira iteração (Implementar uma solução temporária para BSF-22)
Bug 46407 - Elementos BSF não carregam arquivos de script, tentam interpretar o nome do arquivo como script
Melhor tratamento de exceções durante o desligamento do teste
Correção de possível problema de segurança de thread na classe JMeterThread
Bug 46491 - Valor incorreto para a última variável em "CSV Data Set Config" (erro no processamento de strings entre aspas)
Melhorias
Amostradores HTTP
Bug 45479 - Suporte para vários nós do HTTP Header Manager
Os amostradores HTTP agora oferecem suporte a tempos limite de conexão e solicitação (requer Java 1.5 para amostrador Java Http)
O Apache SOAP 2.3.1 não fornece acesso ao código/mensagem de resposta HTTP, portanto, o amostrador de WebService agora trata uma resposta vazia como um erro
O servidor espelho agora suporta o cabeçalho "X-Sleep" - se estiver definido, o thread de resposta aguardará o número especificado de milissegundos
Adicionada a propriedade locales.add para permitir novas localidades
Em geral
Permitir espaços nos nomes de caminho do JMeter (aplicar solução alternativa para Java Bug 4496398 )
Processe JVM_ARGS por último nos arquivos de script para que os usuários possam substituir as configurações padrão
Bug 46636 - Permitir que o modo servidor use opcionalmente uma porta rmi fixa
Torne alguns samplers interrompíveis: HTTP (ambos), SoapSampler, FTPSampler
A ação de teste agora suporta a ação "Parar agora", assim como os elementos Thread Group e Result Status Post Processor
Os itens de Menu Parar e Desligar agora se comportam melhor. O desligamento agora aguardará até que todos os threads saiam. No modo GUI, ele pode ser cancelado e parar a execução. Parar agora informa se alguns encadeamentos não sairão e sairá se estiver sendo executado no modo não GUI
Adicione o servidor UDP para aguardar a mensagem de desligamento se estiver executando no modo não GUI; adicione o cliente UDP para enviar a mensagem.
Inclua o jar do BeanShell 2.0b4 no download binário.
Alterações não funcionais
Introduza a classe AbstractListenerGui para facilitar a criação de ouvintes sem saída visual
Asserções são executadas após PostProcessors; alterar a ordem dos menus pop-up de acordo
Remova métodos clone() desnecessários de classes de função
Invocação do PreProcessor movida para a classe JMeterThread
Feito o campo HashTree Map final
Melhore o desempenho de chamar ResultCollector#isSampleWanted() para várias amostras
Atualizado para novas versões de: xmlgraphics-commons (1.3.1), jdom (1.1), xstream (1.3.1), velocidade (1.6.2)
Versão 2.3.2
Resumo das principais alterações
Correções de bugs
A versão 2.3.1 mudou a forma como os tipos de conteúdo binário e de texto eram determinados no que dizia respeito ao View Results Tree Listener: originalmente tudo, exceto os tipos de conteúdo "image/" eram considerados texto, mas 2.3.1 introduziu uma verificação para tipos de conteúdo específicos. Isso causou problemas, pois vários tipos populares foram omitidos e não foram mais exibidos por padrão na guia Resposta. Em vez de tentar listar todos os tipos de texto possíveis, o JMeter agora apenas verifica os seguintes tipos binários:
imagem/*
áudio/*
vídeo/*
Todos os outros tipos são agora assumidos como texto.
O JMeter 2.3.1 introduziu um bug no Cookie Manager - se "Limpar Cookie a cada iteração" fosse selecionado, todos os threads veriam os mesmos cookies. Este bug foi corrigido.
Melhorias
O servidor proxy agora pode registrar solicitações binárias. Por padrão, os tipos de conteúdo application/x-amf e application/x-java-serialized-object serão tratados como binários e salvos em um arquivo. Para alterar os tipos de conteúdo, atualize a propriedade proxy.binary.types .
O elemento de configuração CSV Dataset tem novas opções de compartilhamento de arquivos: por grupo de encadeamentos, por encadeamento, por identificador. Isso permite um processamento de arquivos mais flexível, por exemplo, cada thread pode processar os mesmos dados na mesma ordem.
O Switch Controller agora funciona corretamente com funções e variáveis, e a condição agora pode ser um nome em vez de um número. O Controlador Simples agora funciona corretamente em um Controlador While
Os campos CSV em arquivos JTL agora podem conter delimitadores. Arquivos CSV e XML agora podem conter variáveis adicionais (defina a propriedade JMeter sample_variables ).
A Asserção de Resposta agora pode corresponder em substrings (ou seja, não em expressão regular). O extrator Regex pode operar em variáveis.
O processamento XPath é aprimorado; Erros de arrumação são tratados melhor.
Botões Salvar dados da tabela adicionados aos relatórios Resumo e Agregado para permitir o fácil salvamento dos dados calculados.
Os samplers HTTP agora podem salvar apenas o hash MD5 de respostas, em vez de toda a resposta. Como um caso especial, se o caminho do HTTP Sampler começar com "http://" ou "https://", ele será usado como o URL completo, substituindo os campos host e port. Os Amostradores HTTP agora podem POSTAR vários arquivos. O Webservice(SOAP) Sampler agora pode carregar arquivos WSDL locais usando o protocolo "file:".
Um gerenciador de cache HTTP simples foi adicionado. Isso precisa de mais desenvolvimento.
View Results Tree Listener agora usa Tidy para exibir XML. Isso deve permitir que mais conteúdo seja exibido com sucesso. Também evita a necessidade de baixar arquivos DTD remotos, o que pode diminuir consideravelmente a renderização.
O amostrador MailReader agora suporta os protocolos POP3S e IMAPS. E-mails individuais agora são adicionados como subamostras.
Várias melhorias no BSF Sampler: agora suporta Jexl e o bug do Javascript funciona corretamente. Adicionados elementos de teste BSF PreProcessor, PostProcessor e Assertion. Todos agora têm acesso ao objeto Propriedades JMeter "props".
O número de classes carregadas no modo não GUI é muito reduzido.
Erros conhecidos
O Include Controller tem alguns problemas no modo não-GUI. Em particular, pode causar um NullPointerException se houver dois controladores de inclusão com o mesmo nome.
O controlador Once Only se comporta bem em um Thread Group ou Loop Controller, mas, caso contrário, seu comportamento não é consistente (ou claramente especificado).
O item de menu Opções / Escolher idioma não altera todo o texto exibido para o novo idioma. Para substituir o idioma local padrão, defina a propriedade "language" do JMeter antes de iniciar o JMeter.
Alterações incompatíveis
Para reduzir o número de classes carregadas no modo não-GUI, as funções só serão encontradas se o nome da classe contiver a string '.functions'. e não contém a string '.gui.'. Todas as funções existentes do JMeter estão em conformidade com essa restrição. Para reverter ao comportamento anterior, comente ou altere as propriedades classfinder.functions.* em jmeter.properties.
O parâmetro de valor de referência para intSum() agora é opcional. Como consequência, se um nome de variável for usado, ele não deve ser um inteiro válido.
A implementação TCPClient fornecida não trata mais tcp.eolByte=0 como especial. Para pular a verificação de EOL, defina tcp.eolByte=1000 (ou algum outro valor que não seja um byte válido)
Espaços à esquerda e à direita são cortados de nomes de variáveis em chamadas de função. Por exemplo, ${__Random(1,63, LOTTERY )} usará a variável 'LOTTERY' em vez de 'LOTTERY'.
A sincronização foi removida da classe RunningSample (de qualquer forma, não era totalmente threadsafe). Os desenvolvedores de complementos de terceiros que usam a classe podem precisar sincronizar o acesso.
Correções de bugs
Verifique se o delimitador CSV é razoável.
Corrija o Switch Controller para funcionar corretamente com funções e variáveis
Bug 44011 - aplicativo/soap+xml não tratado como um tipo de texto
Bug 43427 - Simple Controller é executado apenas parcialmente no loop While
Bug 33954 - Stack Overflow nos controladores If/While (pode ter sido corrigido anteriormente)
Bug 44022 - Memory Leak ao fechar o plano de teste
Bug 44042 - Regressão no Cookie Manager (Bug introduzido em 2.3.1)
Bug 41028 - O servidor JMeter não alerta o usuário quando o host é definido como um endereço de loopback
Bug 44142 - A função __machineName causa NPE se os parâmetros forem omitidos.
Bug 44144 - JMS ponto a ponto: teste de resposta de solicitação não funciona
Bug 44314 - Não é possível adicionar mais de um SyncTimer
Capture a saída de erro do console Tidy e registre-a
Corrigir problemas usando Tidy (analisador tolerante) no XPath Assertion e XPath Extractor
Tornar o nome da variável da função aleatória opcional
Reduza o carregamento de classe no modo não-GUI procurando apenas funções em nomes de classe que contenham '.functions'. e não contém '.gui.'
Bug 43379 - Switch Controller agora suporta seleção por nome e número
Pode especificar uma lista de nomes de variáveis a serem gravadas em arquivos JTL (formato CSV e XML)
Agora verifica se as opções remoteStart -r e -R são usadas apenas com a opção non_GUI -n
Bug 44184 - Permitir que o cabeçalho seja salvo com dados do Gráfico Agregado
Adicionados botões "Salvar dados da tabela" para relatórios agregados e de resumo - salve a tabela como formato CSV com cabeçalho
Permitir que a maioria das funções seja usada no Plano de Teste. Observação __evalVar(), __split() e __regex() não podem ser usados no Plano de Teste.
Permitir que propriedades globais sejam carregadas de um arquivo, por exemplo -Gglobal.properties
Adicionar a opção "Substring" à declaração de resposta
Como um caso especial, se o caminho do Amostrador HTTP começar com "http://" ou "https://", isso será usado como o URL completo.
Bug 44575 - Result Saver agora pode salvar apenas resultados bem-sucedidos
Bug 44650 - O conjunto de dados CSV agora lida com valores de coluna entre aspas
Bug 44600 - temporizador de resolução de 1 ms ao executar com Java 1.5+
Bug 44632 - Aprimoramento de entrada de texto para FTP Sampler
Bug 42204 - adicione o nome do grupo de threads aos relatórios agregados e de resumo
FTP Sampler define latência = tempo para login
O FTP Sampler define um URL se puder
Bug 41921 - adiciona opção para samplers armazenarem MD5 de resposta; feito para Amostradores HTTP.
A função Regex agora também pode ser aplicada a uma variável em vez de apenas ao resultado da amostra anterior.
Remova a máscara de parâmetro HTML, o modificador de parâmetro do usuário HTTP dos menus, pois eles estão obsoletos
Bug 44807 - permite que os IDs de sessão sejam encerrados por barra invertida
Bug 44784 - permite servidor quebrado retornando charset adicional
Adicionada propriedade/variável TESTSTART.MS = hora de início do teste em milissegundos
Adicione protocolos POP3S e IMAPS ao Mail Reader Sampler.
O Mail Reader Sampler agora cria uma subamostra para cada e-mail.
A implementação TCPClient fornecida não trata mais tcp.eolByte=0 como especial. Para pular a verificação de EOL, defina tcp.eolByte=1000 (ou algum outro valor que não seja um byte válido)
A GUI do amostrador JUnit agora também encontra classes de teste definidas em user.classpath
Espaços à esquerda e à direita são cortados de nomes de variáveis em chamadas de função. Por exemplo, ${__Random(1,63, LOTTERY )} usará a variável 'LOTTERY' em vez de 'LOTTERY'
Webservice(SOAP) Sampler agora pode carregar arquivos WSDL locais usando o arquivo: protocol
Bug 44872 - Adicionar filtro "Todos os arquivos" às caixas de diálogo Abrir arquivo
O servidor espelho agora pode ser executado independentemente (mirror-server.cmd e mirror-server.sh)
Bug 19128 - Adicionado suporte a vários arquivos POST para HTTP Samplers
Permitir o uso do nome especial LAST para indicar a última execução de teste; aplica-se aos sinalizadores -t, -l, -j
Bug 44418 /42178 - Melhorias no manuseio de arquivos do conjunto de dados CSV
Dê às funções do BeanShell, Javascript e Jexl acesso às propriedades do JMeter por meio do objeto "props"
Dê acesso ao BSF Sampler às propriedades do JMeter por meio do objeto "props"
Adicione Jexl como uma linguagem BSF Sampler compatível
Dê aos elementos de teste do Beanshell acesso às propriedades do JMeter por meio do objeto "props"
Adicionados elementos de teste BSF PreProcessor, PostProcessor e Assertion
Todos os elementos BSF agora têm acesso ao System.out através da variável "OUT"
Resumidor atualizado para lidar com nomes de variáveis
Sincronização adicionada ao Resumo e Relatório Agregado para tentar evitar amostras perdidas ocasionais
Melhor tratamento de problemas de inicialização do MirrorServer e teste de unidade aprimorado.
O processo de compilação agora detecta bibliotecas de terceiros ausentes e relatórios necessários para arquivos binários e de origem
Ignore os testes do BeanShell se o jar não estiver presente
Atualização para Xerces 2.9.1, Xalan 2.7.1, Commons IO 1.4, Commons Lang 2.4, Commons-Logging 1.1.1, XStream 1.3, XPP3 1.1.4c
Use propriedades para descrições de funções de log/logn
Verifique se todos os arquivos jmx no diretório demos podem ser carregados OK
Atualizar os direitos autorais para 2008; use a tag de cópia em vez do caractere numérico na saída HTML
Métodos chamados de construtores não devem ser substituíveis: torne os métodos init da GUI privados
Torne as variáveis estáticas finais, se possível
Divida as alterações em atual e anterior
Versão 2.3.1
Sumário de Mudanças
JMeter Proxy
A função de falsificação de proxy foi quebrada em 2.3; foi corrigido. Spoof agora oferece suporte a um parâmetro opcional para limitar a falsificação a URLs específicos. Isso é útil para páginas HTTPS que têm conteúdo inseguro - por exemplo, imagens/folhas de estilo podem ser acessadas usando HTTP. As respostas falsificadas agora eliminam a porta padrão (443) dos links https para que funcionem melhor.
As amostras de proxy ignoradas agora estão visíveis em Listeners - o rótulo é colocado entre [ e ] como uma indicação. A documentação do proxy foi melhorada.
Alterações na GUI
Os menus Adicionar mostram os tipos de elementos na ordem em que são processados - consulte Ordem de execução do plano de teste . Não é mais possível adicionar elementos de teste a partes inadequadas da árvore - por exemplo, amostradores não podem ser adicionados diretamente em um plano de teste. Isso também se aplica a Colar e arrastar e soltar.
O menu Arquivo agora suporta uma opção "Reverter", que recarrega o arquivo atual. Além disso, os últimos nomes de arquivos usados são lembrados para facilitar o recarregamento.
O Menu de Opções agora suporta Recolher Tudo e Expandir Todos os itens para recolher e expandir a árvore de teste.
Teste remoto
O servidor JMeter agora inicia o servidor RMI diretamente (por padrão). Isso simplifica o teste e significa que o servidor RMI será interrompido quando o servidor parar.
As funções agora podem ser usadas em nomes de arquivos do Listener (as variáveis não funcionam).
A opção de linha de comando -G agora pode ser usada para definir propriedades para servidores remotos. A opção -X pode ser usada para parar um servidor remoto após uma execução sem GUI. O servidor pode ser configurado para sair automaticamente após um único teste (defina a propriedade server.exitaftertest=true).
Outras melhorias
A inicialização do JMeter não carrega mais tantas classes; isso deve reduzir os requisitos de memória.
Suporte a parâmetros e arquivos adicionados a todos os elementos do BeanShell. A função Javascript agora suporta acesso a objetos JMeter; A função Jexl sempre teve acesso, mas a documentação agora foi incluída. Novas funções __eval() e __evalVar() para avaliação de variáveis.
Arquivos CSV com os nomes de coluna de cabeçalho corretos agora são reconhecidos automaticamente quando carregados. Não há necessidade de configurar as propriedades.
O nome do host agora pode ser salvo em arquivos de saída CSV e XML. Nova opção "Somente sucessos" adicionada ao salvar arquivos de resultados. A opção Somente erros / sucessos agora é suportada ao carregar arquivos XML e CSV.
Melhorias na documentação geral.
HTTP
PUT e DELETE agora devem funcionar corretamente. O Cookie Manager não limpa mais os cookies inseridos manualmente.
Agora lida com o conjunto de caracteres http-equiv da tag META
JDBC
O JDBC Sampler agora permite parâmetros INOUT e OUT para procedimentos chamados. O JDBC Sampler agora permite conexões por thread - defina Max Connections = 0 em JDBC Config.
Alterações incompatíveis
O servidor JMeter agora cria o registro RMI por padrão. Se o registro RMI já tiver sido iniciado externamente, isso gerará uma mensagem de aviso, mas o servidor continuará. Isso não deve afetar o teste do JMeter. No entanto, se você também estiver usando o registro RMI para outros aplicativos, pode haver problemas. Por exemplo, quando o servidor JMeter for encerrado, ele interromperá o registro RMI. Também os arquivos de comando escritos pelo usuário podem precisar ser ajustados (os fornecidos com o JMeter foram atualizados). Para reverter para o comportamento anterior, defina a propriedade JMeter: server.rmi.create=false .
O servidor proxy remove os cabeçalhos If-Modified-Since e If-None-Match dos gerenciadores de cabeçalho gerados. Para reverter ao comportamento anterior, defina a propriedade proxy.headers.remove sem valor
Correções de bugs
Bug 43430 - A contagem de threads ativos está incorreta para amostras remotas
O controlador de taxa de transferência não estava funcionando para contagens de "todos os threads"
Se um corpo POST for criado apenas a partir de valores de parâmetro, eles agora serão codificados se a caixa de seleção estiver definida.
Bug 43584 - A mensagem de falha de declaração contém uma vírgula que também é usada como delimitador para arquivos CSV
HTTP Mirror Server agora sempre retorna exatamente o mesmo conteúdo, costumava retornar dados incorretos se a codificação UTF-8 fosse usada para o corpo HTTP POST, por exemplo
Bug 43612 - HTTP PUT não respeita os parâmetros de solicitação
Bug 43694 - ForEach Controller (erro de processamento de coleta vazia)
Bug 42012 - Os nomes de arquivos do Ouvinte Variável não são processados em testes remotos. Os nomes de arquivo agora podem incluir referências de função; referências de variáveis não funcionam.
Certifique-se de que os nós do Listener obtenham a própria configuração de salvamento ao copiar e colar
O servidor proxy correto inclui e exclui a descrição correspondente - a porta e a consulta são incluídas, ao contrário do documentado anteriormente.
O cabeçalho da coluna do gráfico agregado e do relatório agregado é KB/s; corrigiu os valores para serem KB em vez de bytes
Corrija o SamplingStatCalculator para que ele não adicione mais o tempo decorrido ao endTime, pois isso é tratado pelo SampleResult. Isso corrige as discrepâncias entre o cálculo do rendimento do Relatório Resumido e do Relatório Agregado.
HTTPSampleResult padrão para codificação ISO-8859-1
Corrigir a codificação padrão para codificação em branco
Corrigir falsificação de Https (problema de porta) que foi quebrado em 2.3
Corrija o amostrador HTTP (Java) para que http.java.sampler.retries signifique novas tentativas, ou seja, não inclui tentativa inicial
Corrija a verificação de tipo de dados SampleResult para detectar melhor documentos de TEXTO
Melhorias
Adicione o destino run_gui Ant, para empacotar e, em seguida, inicie a GUI do JMeter a partir do Ant
Adicionar Arquivo→Reverter para eliminar facilmente as alterações atuais e recarregar o arquivo de projeto atualmente carregado
Bug 43351 - Adicionar suporte para Parâmetros e arquivo de script para todos os elementos de teste do BeanShell
SaveService não precisa mais instanciar classes
Novas funções: __eval() e __evalVar()
Os itens de menu agora aparecem na ordem de execução
Os itens do Plano de Teste agora só podem ser soltos/colados/mesclados em partes da árvore onde são permitidos
Exibição de propriedades para mostrar o valor das propriedades System e JMeter e permitir que elas sejam alteradas
Bug 43451 - Permitir que o Regex Extractor opere no código/mensagem de resposta
JDBC Sampler agora permite parâmetros INOUT e OUT para procedimentos chamados
JDBC Sampler agora permite conexões por thread
O Cookie Manager não limpa mais os cookies definidos na GUI
Parâmetros HTTP sem nomes são ignorados (exceto para solicitações POST sem arquivo)
"Salvar seleção como" adicionado ao menu principal; agora verifica se apenas o item está selecionado
O plano de teste agora tem o item de menu Colar (o colar já era suportado via ^V)
Se o delimitador padrão não funcionar ao carregar um arquivo CSV, adivinhe o delimitador analisando a linha do cabeçalho.
Adicione o protocolo "loopback" opcional para o amostrador HttpClient
O servidor HTTP Mirror agora suporta o bloqueio esperando que mais dados apareçam, se o cabeçalho do tamanho do conteúdo estiver presente na solicitação
A GUI do servidor HTTP Mirror agora tem os botões Iniciar e Parar em um local mais visível
O modo servidor agora cria o registro RMI; para desativar, configure a propriedade JMeter server.rmi.create=false
O HTTP Sampler agora suporta o uso do campo MIME Type para especificar o cabeçalho de solicitação do tipo de conteúdo quando o corpo é construído a partir de valores de parâmetro
Habilite a saída após um teste de servidor único - defina a propriedade JMeter server.exitaftertest=true
Adicionada opção -G para definir propriedades em servidores remotos
Adicionada opção -X para parar servidores remotos após execução sem GUI
Bug 43485 - Capacidade de especificar keep-alive na solicitação SOAP/XML-RPC
Bug 43678 - Manipular o conjunto de caracteres http-equiv da tag META
Bug 42555 - [I18N] Correções propostas para a tradução francesa
Bug 43727 - Ação de teste não suporta variáveis ou funções
O servidor proxy remove os cabeçalhos If-Modified-Since e If-None-Match dos gerenciadores de cabeçalho gerados por padrão. Para alterar a lista de cabeçalhos removidos, defina a propriedade proxy.headers.remove como uma lista de cabeçalhos separados por vírgula a serem removidos
A função javaScript agora tem acesso a variáveis JMeter e contexto etc. Veja a função JavaScript
Use a lista suspensa para o campo de idioma do BSF Sampler
Adicione o nome do host aos itens que podem ser salvos em arquivos de saída CSV e XML.
A sinalização somente de erros agora é suportada ao carregar arquivos XML e CSV
Certifique-se de que o ResultCollector use a codificação SaveService
Proxy agora rejeita tentativas de usá-lo com https
A falsificação de proxy agora pode usar a correspondência RE para determinar quais URLs falsificar (útil se as imagens não forem https)
A falsificação de proxy agora descarta a porta HTTPS padrão (443) ao converter links https: para http:
Adicionar registros e exibição apenas de sucessos
O nome do arquivo de log do JMeter é formatado como SimpleDateFormat (aplicado à data atual) se contiver aspas simples pareadas, por exemplo, 'jmeter_'yyyyMMddHHmmss'.log'
Adicionados itens de menu Recolher tudo e Expandir todas as opções
Permitir definição opcional de tipos de conteúdo extras que podem ser visualizados como texto
Melhorias não funcionais
Código Functor mais rígido; Functor agora pode ser usado com interfaces, bem como alvos e parâmetros pré-definidos.
A função Salvar gráficos agora solicita antes de substituir um arquivo existente
Debug Sampler e Debug PostProcessor adicionados.
Nomes de métodos corrigidos na Calculadora e SamplingStatCalculator
Documentação do Listener arrumada.
Versão 2.3
Correções desde 2.3RC4
Correções de bugs
Corrigir NPE em SampleResultConverter - XStream PrettyPrintWriter não pode manipular nulos
Se o amostrador Java HTTP vir ResponseMessage nulo, substitua pelo cabeçalho HTTP
Bug 43332 - 2.3RC4 não limpa Guis baseado em TestBean
Bug 42948 - Problemas com os campos da tabela Proxy gui em Java 1.6
Corrigir script de servidor jmeter quebrado
Bug 43364 - opção para reverter If Controller para o comportamento pré 2.3RC3
Bug 43449 - O modo Statistical Remote não lida com a latência
Bug 43450 (correção parcial) - Permitir que SampleCount e ErrorCount sejam salvos/restaurados de arquivos
Melhorias
Adicione a opção nameSpace ao extrator XPath
Adicionar opção de parâmetro NULL ao amostrador JDBC
Adicione links de documentação para Rhino e BeanShell às funções; esclarecer variáveis e propriedades
Certifique-se de que as exceções não capturadas sejam registradas
Procure user.properties e system.properties no diretório bin do JMeter se não for encontrado localmente
Correções desde 2.3RC3
Corrigido o NPE no Summariser (bug introduzido no 2.3RC3)
Configuração fixa da porta proxy (bug introduzido no 2.3RC3)
Corrigidos erros ao executar não-GUI em um host sem periféricos (bug introduzido no 2.3RC3)
Bug 43054 - SSLManager faz com que os testes de estresse saturem e falhem (bug introduzido no 2.3RC3)
Esclarecido o uso de padrões de solicitação HTTP do campo de porta
Bug 43006 - NPE se o arquivo icon.properties não for encontrado
Bug 42918 - Asserção de tamanho agora trata uma resposta vazia como tendo comprimento zero
Bug 43007 - O teste termina antes de todos os grupos de threads serem iniciados
Corrija o possível NPE no HTTPSampler2 se 302 não tiver o cabeçalho de localização.
Bug 42919 - Mensagem de falha em branco na saída CSV [agora grava a primeira mensagem não em branco]
Adicionar link para Extending JMeter PDF
Permitir o conjunto de caracteres entre aspas na análise de tipo de conteúdo
Bug 39792 - Sincronização do ClientJMeter necessária
Bug 43122 - As alterações na GUI nem sempre são detectadas quando as teclas de atalho são usadas (bug introduzido no 2.3RC3)
Bug 42947 - As alterações do TestBeanGUI não são detectadas quando as teclas de atalho são usadas
Adicionado serializer.jar (necessário para atualização para xalan 2.7.0)
Bug 38687 - O controlador do módulo não funciona no modo não-GUI
Melhorias desde 2.3RC3
Adicionar opção de interrupção de thread ao conjunto de dados CSV
Atualizado commons-httpclient para 3.1
Bug 28715 - permite valores de cookies variáveis (definir CookieManager.allow_variable_cookies=false para desabilitar)
Bug 40873 - adicionar opção de entrega não persistente ponto a ponto JMS
Bug 43283 - A ação de salvar adiciona .jmx se não estiver presente; verifica o arquivo existente em Salvar como
A tecla Control + A não funciona para Salvar tudo como; alterado para Control + Shift + S
Bug 40991 - Permitir que asserções verifiquem os cabeçalhos
Versão 2.3RC3
Problemas/restrições conhecidos:
O servidor remoto JMeter não suporta vários testes simultâneos - cada teste remoto deve ser executado em um servidor separado. Caso contrário, os testes podem falhar com exceções aleatórias, por exemplo, ConcurrentModification Exception em StandardJMeterEngine. Veja
Bug 43168 .
O amostrador de solicitação HTTP padrão (não HTTPClient) pode não funcionar para conexões HTTPS por meio de um proxy. Isso parece ser devido a um bug Java, veja
Bug 39337 . Para evitar o problema, tente uma versão mais recente do Java ou alterne para a versão HTTPClient do amostrador HTTP Request.
O modo pai do controlador de transação não oferece suporte a controladores de transação aninhados. Isso pode causar uma exceção de ponteiro nulo no TestCompiler.
As contagens de threads ativas são sempre zero em arquivos CSV e XML ao executar testes remotos.
A propriedade file_format.testlog=2.1 é tratada da mesma forma que 2.2. No entanto, o JMeter honra as 3 versões do plano de teste.
Bug 22510 - JMeter sempre usa a primeira entrada no keystore.
O modo remoto não funciona se o JMeter estiver instalado em um diretório onde o nome do caminho contém espaços.
Elementos de teste do BeanShell vazam memória. Isso pode ser reduzido usando um arquivo em vez de incluir o script no elemento de teste.
Variáveis e funções não funcionam em Listeners no modo cliente-servidor (remoto), portanto não podem ser usadas para nomear arquivos de log no modo cliente-servidor.
As variáveis do conjunto de dados CSV são definidas após a conclusão do processamento da configuração, portanto, não podem ser usadas para outros itens de configuração, como JDBC Config. (veja
Bug 40394 )
Resumo das alterações (para mais detalhes, veja abaixo)
Algumas das principais melhorias são:
Htmlparser 2.0 agora usado para análise
A autorização HTTP agora suporta domínio e realm
As opções HttpClient podem ser especificadas através do arquivo httpclient.parameters
HttpClient agora se comporta da mesma forma que Java Http para certificados SSL
Servidor HTTP Mirror para permitir testes locais de amostradores HTTP
HTTP Proxy suporta gravação XML-RPC e outras melhorias de proxy
A função __V() permite o suporte de referências de variáveis aninhadas
O amostrador LDAP Ext analisa opcionalmente os conjuntos de resultados e suporta o modo seguro
FTP Sampler suporta o modo Ascii/Binary e upload
O Transaction Controller agora gera opcionalmente um Sample com subresultados
Os contextos de sessão HTTPS agora são por thread, em vez de compartilhados. Isso dá uma melhor emulação de vários usuários
Os elementos BeanShell agora suportam interfaces ThreadListener e TestListener
Ícones coloridos no Tree View Listener e em outros lugares para diferenciar melhor as amostras com falha.
As principais correções de bugs são:
Manipulação HTTPS (SSL) agora muito melhorada
Vários bugs do modo remoto corrigidos
Control + C
e Control + V agora funcionam na árvore de teste
Latência e codificação agora disponíveis na saída de log CSV
Os elementos de teste não são mais padronizados para o conteúdo anterior; os elementos de teste não são mais limpos ao alterar o idioma.
Alterações incompatíveis (uso):
NB As propriedades javax.net.ssl foram movidas de jmeter.properties para system.properties e não funcionarão mais se definidas em jmeter.properties.
O novo arranjo é mais flexível, pois permite que propriedades arbitrárias do sistema sejam definidas.
Os contextos de sessão SSL agora são criados por thread, em vez de serem compartilhados. Isso gera uma carga mais realista para testes HTTPS. A mudança provavelmente retardará os testes com muitos encadeamentos SSL. O comportamento original pode ser ativado definindo a propriedade JMeter:
https.sessioncontext.shared=true
O LDAP Extended Sampler agora usa o mesmo painel para os testes Thread Bind e Single-Bind. Isso significa que qualquer teste usando o teste Single-bind precisará ser atualizado para definir o nome de usuário e a senha.
Bug 41140: O comportamento do JMeterThread foi alterado para que os PostProcessors sejam executados em ordem direta (como aparecem no plano de teste) em vez de ordem inversa como anteriormente. O comportamento original pode ser restaurado definindo a seguinte propriedade JMeter:
jmeterthread.reversePostProcessors=true
O HTTP Authorization Manager agora tem colunas extras para domínio e realm, portanto, a solução temporária de usar '\' e '@' no nome de usuário para delimitar o domínio e o realm foi removida.
Control + Z não é mais usado para Remote Start All - agora usa Control + Shift + R
HttpClient agora usa autenticação preventiva. Isso pode ser alterado configurando o seguinte:
O campo de porta em padrões de solicitação HTTP não é mais ignorado para amostradores https se estiver definido como 80.
Alterações incompatíveis (desenvolvimento):
NB O método clear() foi definido nas seguintes interfaces: Clearable, JMeterGUIComponent e TestElement. Os métodos servem a propósitos diferentes, então dois deles foram renomeados: o método Clearable agora é clearData() e o método JMeterGUIComponent agora é clearGui(). Complementos de terceiros podem precisar ser reconstruídos.
As classes Calculator e SamplingStatCalculator não fornecem mais nenhuma formatação de seus dados. A formatação agora deve ser feita usando as classes do Renderer jorphan.gui.
Removido o método obsoleto JMeterUtils.split() - use a versão JOrphanUtils em vez disso.
Removido o método saveUsingJPEGEncoder() de SaveGraphicsService. Ele não foi usado até agora e usou a única classe específica da Sun no JMeter.
Novas funcionalidades/melhorias:
Adicionar suporte a Domínio e Realm ao Gerenciador de Autorização HTTP
HttpClient agora se comporta da mesma forma que o amostrador JDK http para certificados inválidos, etc.
Adicionado httpclient.parameters.file para permitir que os parâmetros HttpClient sejam definidos
Bug 33964 - Solicitações HTTP podem enviar um arquivo como o corpo inteiro da postagem se o nome/tipo for omitido
Bug 41705 - adicionar opção de codificação de conteúdo para amostradores HTTP para solicitações POST
Bug 40933 ,
Bug 40945 - correspondência de RE opcional ao recuperar URLs de recursos incorporados
Bug 41704 - Permitir que a codificação de charset seja especificada para CSV DataSet
Bug 41259 - Campo de comentário adicionado a todos os elementos de teste
Adicionar desvio padrão ao relatório resumido
Bug 41873 - Adicionar nome a AssertionResult e exibir AssertionResult em ViewResultsFullVisualizer
Bug 36755 - Salvar arquivos de teste XML com codificação UTF-8
Use o formato de data e hora ISO para o Tree View Listener (anteriormente o ano não era mostrado)
Melhore o carregamento de arquivos CSV: se possível, use o cabeçalho para determinar o formato; adivinhe o formato do carimbo de data/hora se não for milissegundos
Bug 41913 - TransactionController agora cria amostras como subamostras da transação
Bug 42582 - JSON bonita impressão no Tree View Listener
Bug 40099 - Habilitar o uso de variável de objeto em ForEachController
Bug 39693 - Exibir tabela de resultados usa ícone em vez de caixa de seleção
O carimbo de hora agora está definido para a hora de início do amostrador (era o fim). Para reverter para o comportamento anterior, altere a propriedade sampleresult.timestamp.start para false (ou comente)
O formato de saída JMX foi simplificado e os arquivos não são compatíveis com versões anteriores
O arquivo JMeter.BAT não altera mais o diretório para o início do JMeter, mas é executado a partir do diretório de trabalho atual. Os arquivos jmeter-n.bat e jmeter-t.bat mudam para o diretório que contém o arquivo de entrada.
Os listeners agora são iniciados um pouco mais tarde para permitir que nomes de variáveis sejam usados. Isso pode causar alguns problemas; em caso afirmativo, defina o seguinte em jmeter.properties:
jmeterengine.startlistenerslater=false
A GUI agora expande a árvore por padrão ao carregar um plano de teste. Isso pode ser desabilitado definindo a propriedade JMeter onload.expandtree=false
Problemas conhecidos:
Pós-processadores são executados em ordem inversa (veja
Bug 41140 )
O controlador do módulo não funciona no modo não GUI
Relatório Agregado e alguns outros ouvintes usam quantidades crescentes de memória à medida que um teste avança
Nem sempre lida adequadamente com a codificação não padrão
Espaços no caminho de instalação causam problemas para o modo cliente-servidor
A mudança de idioma não se propaga para todos os elementos de teste
SamplingStatCalculator mantém uma lista de todas as amostras para fins de cálculo; isso pode causar exaustão de memória em testes de longa duração
Não trata adequadamente os certificados do servidor se estiverem expirados ou não instalados localmente
Nova funcionalidade:
Função de relatório
Pós-processador XPath Extractor. Lida com partidas únicas e múltiplas.
Formato de arquivo JMX mais simples (2.2)
O código BeanshellSampler pode atualizar ResponseData diretamente
Bug 37490 - Permitir UDV como atraso na declaração de duração
Emulação de conexão lenta para HttpClient
JUnitSampler aprimorado para que, por padrão, erros e exceções de declaração não sejam anexados à mensagem de erro. Os usuários devem verificar explicitamente o anexo no amostrador
Aprimorou a documentação do amostrador de webservice para explicar como ele funciona com CSVDataSet
Aprimorou a documentação da função javascript para explicar o escape de vírgula
Permitir que os nomes dos arquivos do conjunto de dados CSV sejam absolutos
Relatar melhor os erros do compilador da árvore
Não redefina a variável Regex Extractor se o padrão estiver vazio
propriedade includecontroller.prefix adicionada
O Extrator de Expressão Regular define a contagem de grupos
Agora pode salvar a tela inteira como uma imagem, não apenas o painel direito
Bug 38901 - Adicionar cabeçalho SOAPAction opcional ao SOAP Sampler
Novos elementos de teste do BeanShell: Timer, PreProcessor, PostProcessor, Listener
A função __split() agora limpa a próxima variável, para que possa ser usada com o ForEach Controller
Bug 38682 - adicionar funcionalidade CallableStatement ao JDBC Sampler
Facilite a alteração da porta RMI/Server
Adicione a propriedade jmeter.save.saveservice.xml_pi para fornecer instruções de processamento xml opcionais em arquivos JTL
Adicione bytes e URL a itens que podem ser salvos em arquivos de log de amostra (XML e CSV)
O pós-processador "Salvar respostas em um arquivo" agora salva o nome do arquivo gerado com a amostra e o nome do arquivo pode ser incluído no arquivo de log de amostra.
Altere o script jmeter.bat DOS para que funcione em qualquer diretório
Nova opção -N para definir nonProxyHosts na linha de comando
Nova opção -S para definir as propriedades do sistema a partir do arquivo de entrada
Bug 26136 - permite configuração de endereço local
Expandir a árvore por padrão ao carregar um plano de teste - pode ser desabilitado definindo a propriedade onload.expandtree=false
Bug 11843 - URL Rewriter agora pode armazenar em cache o ID da sessão
O pré-processador do contador agora suporta números formatados
Adicionar suporte para os métodos HEAD PUT OPTIONS TRACE e DELETE
Permitir que a implementação HTTP padrão seja alterada
Opcionalmente, salve as contagens de threads ativas (grupo e todos) nos arquivos de resultados
Variáveis/funções agora podem ser usadas em nomes de arquivos do Listener
Nova função __time(); definir propriedades e variáveis START.MS/START.YMD/START.HMS
Adicionar nome de thread às visualizações de árvore e tabela
Adicionar funções de depuração: qual classe, depuração ativada, depuração desativada
Calculadora sem cache - usada pelo Table Visualiser para reduzir o consumo de memória
Relatório Resumido - semelhante ao Relatório Agregado, mas usa menos memória
Bug 39580 - opção de reciclagem para conjunto de dados CSV
Bug 38748 - JDBC DataSourceElement falha com teste remoto
Bug 38902 - às vezes -1 parece ser retornado desnecessariamente para o código de resposta
Bug 38840 - tornar a Asserção XML segura para thread
Bug 38681 - Incluir controlador agora funciona no modo não GUI
Adicionar implementação de gravação (OS, IS) ao TCPClientImpl
O conversor de resultados de exemplo salva o código de resposta como "rc". Anteriormente, ele salvava como "rs", mas lia com "rc"; agora também lerá com "rc". As folhas de estilo XSL agora também aceitam "rc" ou "rs"
Corrija a função do contador para que cada instância do contador seja independente (anteriormente os contadores por usuário eram compartilhados entre as instâncias da função)
Corrija exemplos de TestBean para que funcionem
Corrija o analisador JTidy para não pular tags de corpo com imagens de fundo
Corrija o analisador HtmlParser para que ele capture todas as imagens de fundo
Bug 39252 definir resultado de amostra SoapSampler de dados XML
Bug 38694 - WebServiceSampler não configurando a codificação de dados corretamente
O Result Collector agora fecha os arquivos de entrada lidos pelos ouvintes
Bug 25505 - Primeira amostragem HTTP falha com "HTTPS hostname errado: deve ser 'localhost'"
Bug 25236 - remova a barra de rolagem dupla do Assertion Result Listener
Bug 38234 - Graph Listener divide por zero problema
Bug 38824 - esclarece o comportamento de Ignorar Status
Bug 38250 - jmeter.properties "language" agora suporta sufixo de país, para zh_CN e zh_TW etc
O arquivo jmeter.properties agora é fechado depois de lido
Bug 31696 Duração não funciona corretamente ao usar o Agendador
JMeterContext agora usa ThreadLocal - deve corrigir alguns erros potenciais de NPE
Versão 2.0.1
Versão de correção de bug. A definir.
Versão 2.0
Análise HTML melhorada; agora tem a escolha de 3 analisadores, e a maioria dos elementos incorporados agora podem ser detectados e baixados.
Os redirecionamentos agora podem ser delegados a URLConnection definindo a propriedade JMeter HTTPSamper.delegateRedirects=true (o padrão é false)
Métodos Stop Thread e Stop Test adicionados para Samplers e Assertions etc. Samplers podem chamar setStopThread(true) ou setStopTest(true) se detectarem um erro que precisa parar o thread do teste após o processamento da amostra
O Thread Group Gui agora tem um painel extra para especificar o que acontece após um erro do Sampler: Continue (como agora), Stop Thread ou Stop Test. Isso precisa ser estendido para um nível mais baixo em algum momento.
Adicionado Desligar ao Menu Executar. Isso é o mesmo que Stop, exceto que permite que os Threads terminem normalmente (ou seja, após a conclusão da próxima amostra)
As amostras remotas podem ser armazenadas em cache até o final de um teste definindo a propriedade hold_samples=true ao executar o servidor. É necessário mais trabalho para poder controlar isso a partir da GUI
O servidor proxy tem a opção de pular os cabeçalhos do navegador de gravação
A reinicialização do proxy funciona melhor (parar aguarda a conclusão do daemon)
O agendador ignora o início se já tiver passado
Agendador agora tem função de atraso
adicionado elemento de teste Summariser (principalmente para não GUI). Isso imprime estatísticas resumidas no System.out e/ou no arquivo de log de vez em quando (3 minutos por padrão). Vários resumos podem ser usados; as amostras são acumuladas pelo nome do resumidor.
Opções extras do servidor proxy: Crie todos os samplers com keep-alive desativado Adicione marcadores de separador entre conjuntos de amostras Adicione asserção de resposta ao primeiro amostrador em cada conjunto
O Plano de Teste tem um campo de comentários
A página de ajuda agora pode ser colocada em segundo plano
Página de ajuda de função separada
Funções novas/alteradas
Funções __property() e __P()
__log() e __logn() - para gravar no arquivo de log
_StringFromFile agora pode processar uma sequência de arquivos, por exemplo, dir/file01.txt, dir/file02.txt etc
A função _StringFromFile() agora pode usar uma variável ou função para o nome do arquivo
Declarações novas/alteradas
A declaração de resposta agora funciona para URLs e lida melhor com dados nulos
A Asserção de Resposta agora também pode corresponder ao Código de Resposta e à Mensagem de Resposta
Asserção HTML usando JTidy para verificar HTML bem formado
Se o controlador (ainda não estiver totalmente funcional)
Transaction Controller (agrega os tempos de seus filhos)
Novos Amostradores
Amostrador BSF Básico (opcional)
BeanShell Sampler (opcional, precisa ser baixado em www.beanshell.org
Amostrador TCP Básico
Opcionalmente, inicie o servidor BeanShell (permite acesso remoto a variáveis e métodos JMeter)
Versão 1.9.1
A definir
Versão 1.9
Os arquivos de log de resultados de amostra agora podem estar no formato CSV ou XML
Novo modelo de evento para notificação de eventos de iteração durante a execução do plano de teste
Nova função Javascript para executar instruções javascript arbitrárias
Muitas melhorias na GUI
Novos pré-processadores e pós-processadores substituem os modificadores e modificadores baseados em resposta.
Compatível com jdk1.3
As funções JMeter agora são totalmente recursivas e universais (podem usar funções como parâmetros para funções)
A janela de ajuda integrada agora suporta links de hipertexto
Nova função aleatória
Nova declaração XML
Novo amostrador LDAP (código alfa)
Nova tarefa Ant para executar o JMeter (na pasta extras)
Nova implementação de teste do Java Sampler (para ajudar os desenvolvedores)
Uso mais eficiente da memória, carregamento mais rápido de arquivos .jmx
Novo Amostrador SOAP (código alfa)
Novo cálculo da mediana no visualizador de resultados de gráfico
Elemento de configuração padrão adicionado para benefício do desenvolvedor
Vários aprimoramentos de desempenho durante o teste
Novo gravador de arquivo simples para sobrecarga mínima de GUI durante a execução de teste
Nova Função: StringFromFile - pega valores de um arquivo
Nova função: CSVRead - pega vários valores de um arquivo
As funções agora precisam ser codificadas - valores especiais devem ser escapados com "\" se forem valores literais
Nova funcionalidade recortar/copiar/colar
O teste SSL deve funcionar com menos falsificação do usuário e no modo não-gui
Mailer Model funciona no modo não-gui
Novo controlador de taxa de transferência
Novo controlador de módulo
Os testes agora podem ser programados para serem executados de um determinado horário até um determinado horário
Os servidores JMeter remotos podem ser iniciados a partir de um cliente não-gui. Além disso, no modo gui, todos os servidores remotos podem ser iniciados com um único clique
ThreadGroups agora podem ser executados em série ou em paralelo (padrão)
Novas opções de linha de comando para substituir propriedades
Nova declaração de tamanho
Versão 1.8.1
Versão de correção de bug. Muitos bugs foram corrigidos.
Removido o nó "Raiz" redundante da árvore de teste.
Ícones reintroduzidos na árvore de teste.
Alguma reorganização do código para melhorar o processo de compilação.
A Árvore de Resultados da Visualização adicionou a opção de visualizar os resultados como um documento da web (ainda com erros neste momento).
Nova linha Total no Ouvinte Agregado (ainda com erros neste ponto).
Melhorias na capacidade de alterar as configurações de localidade do JMeter.
Melhorias no Gerenciador de SSL.
Versão 1.8
Melhoria nos cálculos do relatório Agregado.
Log de aplicativos simplificado.
Nova Asserção de Duração.
Corrigido e melhorado Mailer Visualizer.
Melhorias na recuperação de recursos do HTTP Sampler (sockets e handles de arquivo).
Melhorando o tratamento interno do JMeter para iniciar/parar testes.
Corrigindo e adicionando opções ao comportamento de Interleave e Random Controllers.
Novo elemento de configuração do contador.
Novo elemento de configuração de parâmetros do usuário.
Melhor desempenho do abridor de arquivos.
Funções e outros elementos podem acessar variáveis globais.
Sistema de ajuda disponível na GUI do JMeter.
Elementos de teste podem ser desativados.
O idioma/localidade pode ser alterado durante a execução do JMeter (principalmente).
A Árvore de Resultados da Visualização pode ser configurada para registrar apenas erros.
Várias correções de bugs.
Versão 1.7.3
Novas funções que fornecem mais capacidade de alterar solicitações dinamicamente durante execuções de teste.
Novas traduções de idiomas em japonês e alemão.
Removidas mensagens de erro do Log4J irritantes.
Suporte aprimorado para carregar arquivos de plano de teste da versão JMeter 1.7 (arquivos .jmx).
O JMeter agora suporta servidores proxy que requerem autenticação de nome de usuário/senha.
A caixa de diálogo indicando a interrupção do teste não trava o JMeter em problemas com a interrupção do teste.
A GUI pode executar vários servidores JMeter remotos (corrige o bug da GUI que impedia isso).
Caixa de diálogo para ajudar a criar chamadas de função na GUI.
Nova opção Keep-alive em solicitações HTTP para indicar que o JMeter deve ou não usar Keep-Alive para soquetes.
As solicitações HTTP Post podem ter argumentos de estilo GET no campo Path. O proxy os registra corretamente agora.
Novas variáveis estáticas em todo o teste definidas pelo usuário.
Exibir árvore de resultados agora exibe mais informações, incluindo nome da solicitação (correspondente ao nome na árvore de teste) e dados completos de solicitação e POST.
Removido o Visualizador de Resultados de Visualização obsoleto (em vez disso, use a Árvore de Resultados de Visualização).
Melhorias de desempenho.
Melhorias no uso da memória.
Melhorias na GUI do visualizador de gráfico.
Atualizações e correções no Mailer Visualizer.
Versão 1.7.2
O JMeter agora notifica o usuário quando o teste parou de ser executado.
O servidor proxy HTTP registra solicitações HTTP com redirecionamento desativado.
Solicitações HTTP podem ser instruídas a seguir redirecionamentos ou ignorá-los.
Várias melhorias na GUI.
Novo controlador aleatório.
Novo Amostrador SOAP/XML-RPC.
Versão 1.7.1
A arquitetura do JMeter foi renovada para uma separação mais completa entre o código GUI e o código do mecanismo de teste.
Uso do código Avalon para salvar planos de teste em XML como objetos de configuração
Todos os ouvintes podem salvar dados em arquivo e carregar os mesmos dados posteriormente.
Versão 1.7Beta
Melhor suporte XML para caracteres especiais (Tushar Bhatia)
Funcionamento sem interface gráfica e execução de plano de teste sem interface gráfica (Tushar Bhatia)
Removendo a dependência do Swing das classes base do JMeter
Internacionalização (Takashi Okamoto)
Correção de bug do AllTests (neth6@atozasia.com)
Correção de bug do ClassFinder (neth6@atozasia.com)
Novo controlador de loop
O Proxy Server registra amostras HTTP do navegador (e documentado no manual do usuário)
Suporte a formulários de várias partes
Classe de cabeçalho HTTP para personalização de cabeçalho
Extraindo informações do cabeçalho HTTP das respostas (Jamie Davidson)
Mailer Visualizer adicionado novamente ao JMeter
JMeter agora url codifica nomes e valores de parâmetros
os ouvintes não dão mais exceções se seus gui's não foram inicializados
HTTPS e autorização trabalhando juntos
Nova amostragem Http que analisa automaticamente a resposta HTML para download de imagens e inclui o download dessas imagens no tempo total para solicitação (Neth neth6@atozasia.com)
As respostas HTTP do servidor podem ser analisadas para links e formulários, e dados dinâmicos podem ser extraídos e adicionados a amostras de teste em tempo de execução (documentado)
Novo recurso Ramp-up (Jonathan O'Keefe)
Novos visualizadores (Net)
Novas asserções para testes funcionais
Versão 1.6.1
Corrigido o salvamento e carregamento de scripts de teste (sem mais linhas extras)
Pode salvar e carregar caracteres especiais (como "&" e "<").
Pode salvar e carregar temporizadores e ouvintes.
Correção de bug menor para cookies (se o valor do cookie continha um "=", ele quebrou).
URLs podem amostrar portas diferentes de 80 e podem testar HTTPS, desde que você tenha os jars necessários (JSSE)
Versão 1.6 Alfa
Nova IU
Separação de GUI e código lógico
Nova estrutura de plug-ins para novos módulos
Desempenho aprimorado
Camadas de lógica de teste para maior flexibilidade
Adicionado suporte para salvar elementos de teste
Adicionado suporte para testes distribuídos usando um único cliente
Versão 1.5.1
Corrigido o erro que fazia com que os cookies não fossem lidos se o nome do cabeçalho não fosse o esperado.
Clone entradas antes de enviar para o sampler - evita que as realocações estraguem as informações entre os encadeamentos
Pequena correção de bug na caixa de diálogo de conveniência para adicionar parâmetros à amostra de teste. Bug impediu que entradas na caixa de diálogo aparecessem na amostra de teste.
Adicionado xerces.jar à distribuição
Adicionei junit.jar à distribuição e criei alguns testes.
Começou a trabalhar no novo framework. Novos arquivos no cvs, mas ainda não efetuam o programa.
Corrigido bug que impedia HTTPJMeterThread de atrasar de acordo com o timer escolhido.
Versão 1.5
Abstraiu o conceito de Sampler, SamplerController e TestSample. Um Sampler representa um código que entende um protocolo (como HTTP, ou FTP, RMI, SMTP, etc.). É o código que realmente faz a conexão com o que está sendo testado. Um SamplerController representa o código que entende como organizar e executar um grupo de amostras de teste. É o que une um Sampler e suas amostras de teste e as executa. Um TestSample representa o código que entende como coletar informações do usuário sobre um teste específico. Para um site, representaria um URL e qualquer informação a ser enviada com o URL.
A interface do usuário foi atualizada para facilitar a entrada de amostras de teste.
Grupos de threads foram adicionados, permitindo que um usuário configure vários testes para serem executados simultaneamente e para permitir o compartilhamento de amostras de teste entre esses testes.
Agora é possível salvar e carregar amostras de teste.
… e muitas outras pequenas alterações/melhorias…
Apache JMeter 1.4.1-dev
Código URLSampler limpo após toneladas de patches para melhor legibilidade. (SM)
Fez o JMeter enviar um identificador especial "user-agent". (SM)
Corrigidos problemas com redirecionamento não enviando cookies e informações de autenticação e removido um aviso com compilação de jikes. Obrigado a Wesley Tanaka pelos patches (SM)
Corrigido um bug no URLSampler que fazia pular uma URL ao testar listas de URLs e um problema com o manuseio de Cookie. Obrigado a Graham Johnson pelos patches (SM)
Corrigido um problema com ações POST. Obrigado a Stephen Schaub pelo patch (SM)
Apache JMeter 1.4 - 11 de julho de 1999
Corrigido um problema com ações POST. Obrigado a Brendan Burns pelo patch (SM)
Adicionado o botão Fechar à caixa Sobre para os gerenciadores de janela que não o fornecem. Obrigado a Jan-Henrik Haukeland por apontar isso. (SM)
Adicionado o visualizador de amostra Spline simples (JPN)
Apache JMeter 1.3 - 16 de abril de 1999
Execute o Garbage Collector e execute a finalização antes de iniciar a amostragem para garantir o mesmo estado todas as vezes (SM)
Corrigido alguns NullPointerExceptions aqui e ali (SM)
Recursos de autenticação HTTP (RL) adicionados
Adicionado visualizador de amostra em janela (SM)
Corrigido bug estúpido para argumentos de linha de comando. Obrigado a Jorge Bracer por apontar isso (SM)
Apache JMeter 1.2 - 17 de março de 1999
Recursos de cookies integrados com JMeter (SM)
Adicionado o gerenciador de cookies e o analisador de arquivos Netscape (SD)
Corrigido erro de compilação para JDK 1.1 (SD)
Apache JMeter 1.1 - 24 de fevereiro de 1999
Criou a oportunidade de criar alias de URL a partir do arquivo de propriedades, bem como a capacidade de associar aliases a sequências de URL em vez de URLs únicos (SM) Obrigado a Simon Chatfield pelas sugestões e exemplos de código muito agradáveis.
Removido o TextVisualizer e substituído pelo muito mais útil FileVisualizer (SM)
Adicionada a lista de bugs conhecidos (SM)
Removido o logotipo Java Apache (SM)
Corrigido alguns erros de digitação (SM)
Adicionado makefile UNIX (SD)
Apache JMeter 1.0.1 - 25 de janeiro de 1999
Problemas pendentes removidos do documento (SM)
Corrigido o script unix (SM)
Adicionada a possibilidade de executar o JAR diretamente usando "java -jar ApacheJMeter.jar" com Java 2 (SM)
Algumas pequenas atualizações: localização fixa do Swing após o lançamento do Java 2(tm), atualização de licença e pequenas limpezas (SM)