我有以下Jenkins管道脚本来运行jmeter测试并从JTL文件生成报告
select t.*
from t
where 'AB45.632' not between `from` and `to`;
最初我尝试使用node('master') {
stage 'Run JMeter Test'
def workspace = pwd()
def jmeterTestFile = 'jenkins_test'
echo "workspace = ${workspace}"
echo "env.WORKSPACE = ${env.WORKSPACE}"
bat "${workspace}\\jmeter\\bin\\jmeter.bat -n -t ${workspace}\\jmeter_scripts\\${jmeterTestFile}.jmx -l ${workspace}\\jmeter_scripts\\${jmeterTestFile}_results.jtl"
step([$class: 'ArtifactArchiver', artifacts: 'CP-Perf-Report.html,**/*.jtl, **/jmeter.log', fingerprint: true])
//perfReport "jmeter_scripts\\${jmeterTestFile}_results.jtl"
performanceReport parsers: [[$class: 'JMeterParser', glob: "jmeter_scripts\\${jmeterTestFile}_results.jtl"]], relativeFailedThresholdNegative: 1.2, relativeFailedThresholdPositive: 1.89, relativeUnstableThresholdNegative: 1.8, relativeUnstableThresholdPositive: 1.5
}
命令创建报告但是perfReport "jmeter_scripts\\${jmeterTestFile}_results.jtl"
失败了,所以我尝试使用FileNotFoundException
替代方法,但即便如此,它再次失败performanceReport parsers
但我可以手动打开FileNotFoundException
文件并查看测试报告。任何人都可以帮我解决这个问题吗?
c:\tools\jenkins\workspace\PerformanceTesting\jmeter_scripts\jenkins_test_results.jtl
答案 0 :(得分:0)
我没有看到在日志中运行JMeter测试的任何迹象,因此我建议修改您的管道脚本,如下所示:
\\
斜杠转换为/
个%WORKSPACE%
而不是${workspace}
请参阅以下指南以获取参考: