每次使用 jenkins 构建之后,jtl 与 html 都未做修改,为之前的文件。biuld.xml 可以生成带日期的文件但是 jenkins 在配置 htmlreport 时文件为绝对路径,没法配置到最新的日期文件。有人能解答下吗
在 build.xml 补充下面两段代码
<delete file="${testpath}/${test}.html"/>
<delete file="${testpath}/${test}.jtl"/>
补充后,run 部分的配置如下:
<target name="run">
<echo>funcMode = ${funcMode}</echo>
<!-- 运行前删除旧的html和jtl-->
<delete file="${testpath}/${test}.html"/>
<delete file="${testpath}/${test}.jtl"/>
<jmeter
jmeterhome="${jmeter.home}"
testplan ="${testpath}/${test}.jmx"
resultlog="${testpath}/${test}.jtl">
<!--
<jvmarg value="-Xincgc"/>
<jvmarg value="-Xmx128m"/>
<jvmarg value="-Dproperty=value"/>
<jmeterarg value="-qextra.properties"/>
-->
<!-- Force suitable defaults -->
<property name="jmeter.save.saveservice.output_format" value="xml"/>
<property name="jmeter.save.saveservice.assertion_results" value="all"/>
<property name="jmeter.save.saveservice.bytes" value="true"/>
<property name="file_format.testlog" value="${format}"/>
<property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/>
</jmeter>
</target>
用 shell 直接修改就行了吧
biuld.xml 文件里看看生成 jtl、html 文件的地方,把日期部分去掉,位置大概是 jmeter 标签的 resultlog="XXXXXX.jtl",xslt 标签的 in="XXX.jtl",out="XXX.html" ,改成只和 jmx 名相关的比如 test.jmx->test.jtl->test.html,如果要按日期命名保存历史报告,就写个 shell 跑完的时候 copy 备份一下到指定目录或者也写到 build.xml 里
在 build.xml 补充下面两段代码
<delete file="${testpath}/${test}.html"/>
<delete file="${testpath}/${test}.jtl"/>
补充后,run 部分的配置如下:
<target name="run">
<echo>funcMode = ${funcMode}</echo>
<!-- 运行前删除旧的html和jtl-->
<delete file="${testpath}/${test}.html"/>
<delete file="${testpath}/${test}.jtl"/>
<jmeter
jmeterhome="${jmeter.home}"
testplan ="${testpath}/${test}.jmx"
resultlog="${testpath}/${test}.jtl">
<!--
<jvmarg value="-Xincgc"/>
<jvmarg value="-Xmx128m"/>
<jvmarg value="-Dproperty=value"/>
<jmeterarg value="-qextra.properties"/>
-->
<!-- Force suitable defaults -->
<property name="jmeter.save.saveservice.output_format" value="xml"/>
<property name="jmeter.save.saveservice.assertion_results" value="all"/>
<property name="jmeter.save.saveservice.bytes" value="true"/>
<property name="file_format.testlog" value="${format}"/>
<property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/>
</jmeter>
</target>