JMeter为jtl文件写入多个条目以进行1次交易

问题描述 投票:0回答:1

我无法从NON-gui模式jmeter输出的JTL文件中获得准确的结果。

我有一个生成父样本的事务控制器,当我运行事务时,生成的jtl文件有一个单项,我期望。

1513634189384,1552,Test Login Controller,200,"Number of samples in transaction : 1, number of failing samples : 0",Client 1-1,,true,4314,1,1,0

在远程计算机上测试脚本时,我希望JTL文件中有一个带有主机名的条目:example: 1513634189384,1552,Test Login Controller,200,"Number of samples in transaction : 1, number of failing samples : 0",Client1-1,,true,,4314,1,1,MY-HOST

但是,生成的JTL文件有3个条目,其中1个是期望的。结果输出:

 1513634189384,1552,Test Login Controller,200,"Number of samples in transaction : 1, number of failing samples : 0",Client 1-1,,true,4314,1,1,0  
 1513634189384,1552,Test Login Controller,200,"Number of samples in transaction : 1, number of failing samples : 0",Client 1-1,,true,,4314,1,1  
 1513634189384,1552,Test Login Controller,200,"Number of samples in transaction : 1, number of failing samples : 0",Client 1-1,,true,,4314,1,1,MY-HOST

为什么其他两个条目会被写入并从哪里开始?

我在Jmeter 3.0上。我的房产是:

# legitimate values: xml, csv, db.  Only xml and csv are currently supported.
#jmeter.save.saveservice.output_format=csv


# true when field should be saved; false otherwise

# assertion_results_failure_message only affects CSV output
jmeter.save.saveservice.assertion_results_failure_message=true

# legitimate values: none, first, all  
#jmeter.save.saveservice.assertion_results=none

#jmeter.save.saveservice.data_type=true   
#jmeter.save.saveservice.label=true  
#jmeter.save.saveservice.response_code=true  
# response_data is not currently supported for CSV output  
#jmeter.save.saveservice.response_data=false  
# Save ResponseData for failed samples  
jmeter.save.saveservice.response_data.on_error=true  
#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=false  
#jmeter.save.saveservice.connect_time=false  
#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=true  
jmeter.save.saveservice.thread_counts=true  
#jmeter.save.saveservice.sample_count=false  
jmeter.save.saveservice.idle_time=false  
apache jmeter
1个回答
0
投票
  1. 您可能正在将结果写入相同的.jtl文件中。您可以将-f参数添加到JMeter启动脚本,以确保JMeter在测试执行之前删除现有的.jtl结果文件。 jmeter -n -f -t test.jmx -l result.jtl 更多信息:Full list of command-line options
  2. 您可能有> 1台远程计算机,因此JMeter实际上在3个从站上执行测试,因此您在结果文件中有3个条目。您可以尝试将__machineName()__machineIP()函数添加到交易控制器的名称,如Test Login Controller - ${__machineName()} JMeter Function Append hostname to results 这样,您将在.jtl结果文件中查看来自哪台机器请求。有关JMeter Functions概念的更多信息,请参阅Apache JMeter Functions - An Introduction文章。
  3. 你只需要在Thread Group中定义> 1个线程或循环
© www.soinside.com 2019 - 2024. All rights reserved.