Arquivo de Resultado JTL em Formato CSV ou XML
Tabela de conteúdos
Novato - This article is part of a series.
A melhor maneira de executar uma carga em JMeter é através do modo não gráfico, embora seja conhecido como CLI (interface de linha de comando) ou CLI. Há duas principais arquivos: o log do JMeter e o arquivo de resultados JTL, mas eles devem ser especificados com as opções -l para o JTL e -j para o arquivo de log. Hoje focamos no JTL ou arquivo de resultados. Por definição, este arquivo é em formato CSV (valores separados por vírgula) ou formatos separados por vírgulas, e sua importância está na capacidade de conter todos os detalhes e resultados de cada requisição, transação ou tag definida no script do JMeter.
Unix/Linux/Mac
jmeter.sh -n -t script.jmx -l resultados.jtl -j bitacora.log
Windows
jmeter.bat -n -t script.jmx -l resultados.jtl -j bitacora.log
Aqui está um exemplo do que um arquivo JTL (JMeter Test Log) aparece em formato CSV:
Este formato tem os seguintes benefícios:
- É leve. (usando pouco espaço em disco)
- É fácil de ler como texto simples (praticamente qualquer edição de texto)
- É fácil importar e gerar dados.
- É simples para detectar erros.
Esta estrutura é a mais popular porque é definida, mas tem a limitação principal de que não podemos armazenar as solicitações e respostas como parte do resultado. Normalmente essa informação não deve ser armazenada caso seja bem-sucedido, pois ocupa espaço e recursos, mas poderia ser necessária para algum tipo de análise posterior ou analise de erro durante a execução. Se você precisar armazenar esta tipo de informações, sugiro ler este artigo “Análise de erros durante a execução” mas ao invés de armazená-las como parte do arquivo resultante, é enviada para o log. Para armazenar as detalhes das solicitações primeiro temos que mudar o formato do arquivo resultante para XML, que pode ser feito substituindo a propriedade no comando linha de comando ou permanentemente modificando o jmeter.properties file.
-Jjmeter.save.saveservice.output_format=xml
depois de habilitar a coleta de detalhes, com a seguinte propriedade
-Jjmeter.save.saveservice.response_data=true
Aqui está um exemplo de substituição de linhas por linha em uma CLI (Interface de Comando Interativa):
Unix/Linux/Mac
jmeter.sh -n -t script.jmx -l resultados.jtl -j bitacora.log -Jjmeter.save.saveservice.output_format=xml -Jjmeter.save.saveservice.response_data=true
Windows
jmeter.bat -n -t script.jmx -l resultados.jtl -j bitacora.log -Jjmeter.save.saveservice.output_format=xml -Jjmeter.save.saveservice.response_data=true
O que resultaria em um arquivo de saída como este:
<?xml version="1.0" encoding="UTF-8"?>
<testResults version="1.2">
<sample t="165" it="0" lt="11" ct="1" ts="1675066304203" s="true" lb="HTTP Sampler" rc="200" rm="OK" tn="Thread Group 1-1" dt="text" by="36" sby="0" ng="1" na="1">
<responseData class="java.lang.String">9634dd0f-d8b7-41d1-9c52-685f9765d4fb</responseData>
</sample>
<sample t="485" it="0" lt="21" ct="3" ts="1675066304807" s="true" lb="HTTP Sampler" rc="200" rm="OK" tn="Thread Group 1-1" dt="text" by="36" sby="0" ng="1" na="1">
<responseData class="java.lang.String">5215d3bc-38ca-479b-82af-0a042ebaafe8</responseData>
</sample>
<sample t="194" it="0" lt="48" ct="3" ts="1675066305315" s="true" lb="HTTP Sampler" rc="200" rm="OK" tn="Thread Group 1-2" dt="text" by="36" sby="0" ng="2" na="2">
<responseData class="java.lang.String">b9bca1f2-5ee5-41d1-8d8f-5cf11243f8d6</responseData>
</sample>
Conclusão #
Lembre-se que isso servirá apenas durante o execução. Se você deseja manter essa comportamento permanentemente, precisará modificar o arquivo jmeter.properties em sua diretório de projeto. Além disso, recomendo visitar este link: URL e modificar as propriedades conforme solicitado no arquivo jmeter.properties, seguindo a minha anterior orientação. Alternativamente, se você está realizando uma carga-teste e apenas deseja salvar o conteúdo de tags falhas, pode fazer isso com a opção:
jmeter.save.saveservice.response_data.on_error=true