性能测试工具 [已经解决] ant jmeter 提示前言不许有内容

隔壁老王 · 2015年06月03日 · 最后由 田清扬 回复于 2015年09月06日 · 2493 次阅读

问题描述

想达到 ant 执行 jmeter 并生成报表
执行命名:ant all
ant test 能够成功

ant report 内容时报错:

rg.xml.sax.SAXParseException; systemId: file:/E:/apps/jmeter/resultLog/jtl/Tes
eport201506030623.jtl; lineNumber: 1; columnNumber: 1; 前言中不允许有内容

build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="all" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>
    <property name="jmeter.home" value="D:\app\apache-jmeter-2.13" />    
    <property name="jmeter.result.jtl.dir" value="E:\apps\jmeter\resultLog\jtl" /> 
    <property name="jmeter.result.html.dir" value="E:\apps\jmeter\resultLog\html" />
    <property name="ReportName" value="TestReport" />
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
    <target name="all">
        <antcall target="test" />
        <antcall target="report" />
    </target>
    <target name="test">
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">      
            <testplans dir="E:\apps\jmeter\testCase" includes="*.jmx" />        
        </jmeter>
    </target>
    <target name="report">
        <xslt in="${jmeter.result.jtlName}"
              out="${jmeter.result.htmlName}"
              style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />   
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>
</project>

jtl 文件格式如下:

1433328700047,1079,HTTP Request,200,OK,Thread Group 1-1,text,true,94015,10,10,964

解决方法

1.bulid.xml 是 utf-8 格式文件
2.jmeter.properties 文件设置 sampleresult.default.encoding=utf-8
还是不行,在生成报表依然报 前言中不允许有内容
3.是我粗心在修改 jmeter.save.saveservice.output_format=XML
应该改成 jmeter.save.saveservice.output_format=xml
所以提醒下大家在设置 jmeter 的属性时,要区分大小写

共收到 9 条回复 时间 点赞
1楼 已删除

#2 楼 @lucasluo 已经收藏!好资料,谢谢了

http://testerhome.com/topics/2580 这篇文章结尾处就有解决方案。

@snake 你的文章很给力。。不过根据楼主的 key word,不太容易匹配你上的文章。

#3 楼 @284772894 能把排版调整一下吗?例如:

问题描述

……

解决方法

……

好巧,我今天也碰到这个问题了,错误输出一模一样,我是在解析 XML 文件时传的路径不正确引起的

我今天也遇到此问题,按你的方法顺利解决了,不过我发现了了更好的方法,直接使用 jmeter/extras 下的 build 文件,把调用文件路径改下,就好了

#8 楼 @portartivia 你好 我也用的 jmeter/extras 下的 build 文件,jmeter.save.saveservice.output_format=xml 也修改了,但是还是报错

#9 楼 @hellengo 不知道你报的是什么错╮(╯▽╰)╭ 改那个的话一般的报错应该就是没注意符号的格式 还有我一般会把输出格式改成 UTF-8 的 不知道对你有没有帮助

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册