【问题标题】:Jmeter Xslt Test Report "Fatal Error! Content is not allowed in prolog."Jmeter Xslt 测试报告“致命错误!prolog 中不允许有内容。”
【发布时间】:2015-09-14 17:49:02
【问题描述】:

我已将我的 jmeter 从 2.9 更新到 2.13。我通常使用 ant build 和 xslt 来生成 html 报告。这是我的 ant xml 脚本:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="ballot.xsl"?> 


<project default="all">
  <!-- Define an environment variable pointing to JMETER folder or change this -->
  <property environment="env"/>
 <!-- <property name="jmeter-home" location="${env.JMETER_DIR}"/>-->
 <property name="jmeter-home" location="C:\apache-jmeter-2.13"/>

  <!-- ant-jmeter.jar comes with jmeter, be sure this is the release you have -->
  <path id="ant.jmeter.classpath">
    <pathelement
       location="${jmeter-home}/extras/ant-jmeter-1.1.1.jar" />
  </path>
  <taskdef
    name="jmeter"
    classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"
    classpathref="ant.jmeter.classpath" />
  <target name="clean">
    <delete dir="results2"/>
    <delete file="jmeter.log"/>
    <mkdir dir="results2/jtl"/>
    <mkdir dir="results2/html"/>
  </target>
  <target name="test" depends="clean">
    <jmeter
       jmeterhome="${jmeter-home}"
       resultlogdir="results2/jtl">
      <testplans dir="IAM_jmeter" includes="*.jmx"/>
    </jmeter>
  </target>
  <!-- This is not needed for the plugin, but it produces a nice html report
       which can be saved usin hudson's archive artifact feature -->
  <target name="report" depends="test">
    <xslt
       basedir="results2/jtl"
       destdir="results2/html"
       includes="*.jtl"
       style="${jmeter-home}/extras/jmeter-results-detail-report_21.xsl"/>
  </target>

  <target name="all" depends="test, report"/>
</project>

它适用于 jmeter 2.9。但是当我更新到 jmeter 2.13 时,它会产生一个错误。这是错误消息:

[xslt] Transforming into C:\Users\Administrator\Downloads\workspace\IAM-JmeterTest-Rest\results2\html
     [xslt] Processing C:\Users\Administrator\Downloads\workspace\IAM-JmeterTest-Rest\results2\jtl\IAM_Jmeter.jtl to C:\Users\Administrator\Downloads\workspace\IAM-JmeterTest-Rest\results2\html\IAM_Jmeter.html
     [xslt] Loading stylesheet C:\apache-jmeter-2.13\extras\jmeter-results-detail-report_21.xsl
     [xslt] C:\Users\Administrator\Downloads\workspace\IAM-JmeterTest-Rest\results2\jtl\IAM_Jmeter.jtl:1:1: Fatal Error! Content is not allowed in prolog.
     [xslt] Failed to process null

知道为什么吗? 感谢您的关注。

【问题讨论】:

    标签: xslt ant jmeter


    【解决方案1】:

    我的预期是,这是由于 .jtl 文件的 CSV 格式,并且要成功进行 XSLT 转换,它需要是 XML。

    您需要“告诉”JMeter 以 XML 格式存储其结果。为此,将以下行添加到“测试”目标:

    <property name="jmeter.save.saveservice.output_format" value="xml"/>
    

    所以整个目标看起来像:

    <target name="test" depends="clean">
        <jmeter
                jmeterhome="${jmeter-home}"
                resultlogdir="results2/jtl">
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
            <testplans dir="IAM_jmeter" includes="*.jmx"/>
        </jmeter>
    </target>
    

    另一种选择是将以下行添加到 user.properties 文件中(位于 ${jmeter-home} 的 /bin 文件夹下

    jmeter.save.saveservice.output_format=xml
    

    有关 JMeter 属性以及设置和覆盖它们的方法的更多信息,请参阅Apache JMeter Properties Customization Guide

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-09
      • 1970-01-01
      • 2020-03-26
      • 2015-12-15
      • 2015-01-30
      • 2019-04-04
      • 2019-04-23
      • 1970-01-01
      相关资源
      最近更新 更多