Jameter-Run.arquivo jmx através da linha de comando e obter o relatório de resumo em um excel
A questão é Como posso conseguir o mesmo usando a linha de comandos.
8 answers
O JMeter pode ser lançado em modo Não gráfico do seguinte modo:
jmeter -n -t /path/to/your/test.jmx -l /path/to/results/file.jtl
Pode definir o que gostaria de ver no ficheiro JTL do resultado através da reprodução com as propriedades do Jameter.
Veja jmeter.properties
o ficheiro sob a pasta / bin da sua instalação do Jameter e procure aqueles que comecem por
jmeter.save.saveservice.
Os valores por omissão estão listados abaixo:
#jmeter.save.saveservice.output_format=csv
#jmeter.save.saveservice.assertion_results_failure_message=false
#jmeter.save.saveservice.assertion_results=none
#jmeter.save.saveservice.data_type=true
#jmeter.save.saveservice.label=true
#jmeter.save.saveservice.response_code=true
#jmeter.save.saveservice.response_data=false
#jmeter.save.saveservice.response_data.on_error=false
#jmeter.save.saveservice.response_message=true
#jmeter.save.saveservice.successful=true
#jmeter.save.saveservice.thread_name=true
#jmeter.save.saveservice.time=true
#jmeter.save.saveservice.subresults=true
#jmeter.save.saveservice.assertions=true
#jmeter.save.saveservice.latency=true
#jmeter.save.saveservice.samplerData=false
#jmeter.save.saveservice.responseHeaders=false
#jmeter.save.saveservice.requestHeaders=false
#jmeter.save.saveservice.encoding=false
#jmeter.save.saveservice.bytes=true
#jmeter.save.saveservice.url=false
#jmeter.save.saveservice.filename=false
#jmeter.save.saveservice.hostname=false
#jmeter.save.saveservice.thread_counts=false
#jmeter.save.saveservice.sample_count=false
#jmeter.save.saveservice.idle_time=false
#jmeter.save.saveservice.timestamp_format=ms
#jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS
#jmeter.save.saveservice.default_delimiter=,
#jmeter.save.saveservice.default_delimiter=\t
#jmeter.save.saveservice.print_field_names=false
#jmeter.save.saveservice.xml_pi=<?xml-stylesheet type="text/xsl" href="../extras/jmeter-results-detail-report_21.xsl"?>
#jmeter.save.saveservice.base_prefix=~/
#jmeter.save.saveservice.autoflush=false
Descomentar o que você está interessado e definir o valor para mudar o padrão. Outra opção é substituir a propriedade no ficheiro user.properties
ou fornecê-la como um argumento da linha de comandos usando a tecla -J
do seguinte modo:
jmeter -Jjmeter.save.saveservice.print_field_names=true -n /path/to/your/test.jmx -l /path/to/results/file.jtl
Ver Apache Jameter Properties Customization Guide para mais detalhes sobre o que pode ser feito usando as propriedades Jameter.
Pode executar o Jameter a partir da linha de comandos usando o parâmetro-n Para 'Não-GUI' e o parâmetro-t para o ficheiro de plano de teste.
jmeter -n -t "PATHTOJMXFILE"
Se quiser personalizar ainda mais a experiência da linha de comandos, indicar-lhe-ia a secção 'começar' da sua documentação.
Pode usar este comando,
jmeter -n -t /path to the script.jmx -l /path to save results with file name file.jtl
Mas se queres mesmo fazer um teste de carga numa máquina remota, deves conseguir fazê-lo funcionar mesmo que feches a janela. Então podemos usar o nohup para ignorar o sinal HUP (Hup). Então você pode usar este comando como abaixo.
nohup sh jmeter.sh -n -t /path to the script.jmx -l /path to save results with file name file.jtl &
Esta seria a instrução da linha de comando.
"%JMETER_HOME%\bin\jmeter.bat" -n -t <jmx test file path> -l <csv result file path> -Djmeter.save.saveservice.output_format=csv
No modo da linha de comandos: Eu planeei em Linux OS.
Baixe a última versão do jmeter. A partir de agora.
Extrair no directório desejado. Por exemplo, extrair para
/tmp/
- Agora, o formato de ficheiro de saída por omissão será
csv
. Não é necessário alterar nada ou especificar no comando CLI. por exemplo:./jmeter -n -t examples/test.jmx -l examples/output.csv
Para alterar o formato predefinido, altere o seguinte parâmetro em jameter.propriedades : jmeter.save.saveservice.output_format=xml
Agora se executar o comando: ./jmeter -n -t examples/test.jmx -l examples/output.jtl
a saída é armazenada no formato xml.
Agora, faça o pedido em servidor múltiplo( consulta informação adicional): podemos especificar máquina e porto como marcas em
./jmeter -n -t examples/test.jmx -l examples/output.jtl -JHOST=<HOST> -JPORT=<PORT>
$ jmeter -n --testfile /path/to/Test_Plan.jmx
Saída da amostra:
Creating summariser <summary>
Created the tree successfully using ./src/test/jmeter/Test_Plan.jmx
Starting the test @ Fri Aug 24 17:18:18 PDT 2018 (1535156298333)
Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445
summary = 10 in 00:00:09 = 1.1/s Avg: 6666 Min: 1000 Max: 8950 Err:
0 (0.00%)
Tidying up ... @ Fri Aug 24 17:18:28 PDT 2018 (1535156308049)
... end of run
Navegar para a pasta jmeter/bin
a partir da linha de comandos e
jmeter -n -t <YourTestScript.jmx> -l <TestScriptsResults.jtl>
Executar o Jameter no modo da linha de comandos:
1.Navegar para a pasta de bin do JMeter
Agora introduza o seguinte comando,
jmeter -n –t test.jmx
- n: indica que o Jameter deve ser executado em modo não-Gráfico
- t: indica o nome do ficheiro JMX que contém o plano de ensaio