我无法从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文件中有一个带有主机名的条目:
例如:
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
为什么其他2个条目被写入并从哪里开始?
我在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
答案 0 :(得分:0)
您可能正在将结果写入相同的.jtl文件中。您可以将-f
参数添加到JMeter启动脚本,以确保JMeter在测试执行之前删除现有的.jtl结果文件。
jmeter -n -f -t test.jmx -l result.jtl
你可能有> 1远程机器,因此JMeter实际上在3个从站上执行测试,因此在结果文件中有3个条目。您可以尝试将__machineName()或__machineIP()功能添加到交易控制器的名称,例如Test Login Controller - ${__machineName()}
通过这种方式,您将在.jtl结果文件中看到来自哪台机器请求。有关JMeter Functions概念的更多信息,请参阅Apache JMeter Functions - An Introduction文章。
答案 1 :(得分:0)
我的测试站点为https 我在jmeter中清空了。因此默认情况下将其视为http。 对于此设置,我在日志文件中接收了多个条目。 在我为测试用例在jmeter中更改为https之后。 解决了日志文件中的多个条目问题。