我快要拔掉所有的头发了,有人请帮帮我..
我正在使用JMeter 3.0并尝试从我的jtl文件生成仪表板报告,但是我收到了错误 -
result.jtl' does not contain the field names header, ensure the jmeter.save.saveservice.* properties are the same as when the CSV file was created or the file may be read incorrectly
我的user.properites文件包含 -
jmeter.save.saveservice.output_format=csv
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.timestamp_format=ms
jmeter.save.saveservice.timestamp_format=yyyy-MM-dd HH:mm:ss
jmeter.save.saveservice.print_field_names=true
这些值在jmeter.properties文件中也是一样的,只是为了确保我没有丢失任何东西......
我真的无法解决为什么我不能让jtl包含标题,我已经按照我能找到的每个指南,我似乎做得对..
有人能指出我缺少的东西,或者包含他们的jmeter的压缩版本,我可以尝试将其指向我的蚂蚁项目吗?
希望有人可以提供帮助。
答案 0 :(得分:3)
仔细检查 build.xml 文件的<jmeter>
部分。默认JMeter Ant Task假定.jtl结果文件的XML输出格式,如果您有以下行:
<property name="jmeter.save.saveservice.output_format" value="xml"/>
只需将其评论或删除即可解决您的问题。
我认为JMeter Ant Task不会通过 user.properties 文件覆盖覆盖,最好使用 jmeterproperties 属性或在Ant构建中明确指定相关配置文件如:
<target name="test">
<jmeter
jmeterhome="${jmeter.home}"
testplan ="${testpath}/${test}.jmx"
resultlog="${testpath}/${test}.jtl">
<property name="jmeter.save.saveservice.output_format" value="csv"/>
<property name="jmeter.save.saveservice.print_field_names" value="true"/>
<property name="jmeter.save.saveservice.timestamp_format" value="ms"/>
<!--etc.-->
</jmeter>
</target>
我还建议您选择一个jmeter.save.saveservice.timestamp_format
属性(ms
或yyyy-MM-dd HH:mm:ss
,因为它可能会导致仪表板生成出现问题),具有不同值的重复属性名称不是非常好的做法。
有关通过Ant任务运行JMeter测试的更多信息以及启动JMeter测试的其他方法,请参阅Five Ways To Launch a JMeter Test without Using the JMeter GUI文章
答案 1 :(得分:0)
在发布之前我已经注意到了,但是这是正确的,XML类型在build.xml中是硬编码的,现在我已经改变了,一切正常:)