You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Jenkinsfile运行JMeter测试遇两类Gradle插件报错,求原因

Jenkins流水线中JMeter Gradle插件两类错误的原因分析

一、net.foragerr.jmeter 1.0.5-2.13插件的配置错误

报错信息

A problem was found with the configuration of task ':jmReport' (type 'TaskJMReports').
  - In plugin 'net.foragerr.jmeter' type 'net.foragerr.jmeter.gradle.plugins.TaskJMReports' property 'reportDir' is missing an input or output annotation.

原因

该版本插件基于旧版Gradle开发,而你当前使用的Gradle版本启用了增量构建严格校验机制。Gradle要求任务的输入、输出属性必须通过@Input、@OutputDirectory等注解明确标记,才能参与增量构建的依赖计算。但此插件的TaskJMReports类中reportDir属性未添加这些注解,导致Gradle无法识别其输出属性,进而抛出配置错误。

对应build.gradle配置

plugins {
    id "net.foragerr.jmeter" version "1.0.5-2.13"
}

apply plugin: 'net.foragerr.jmeter'

jmeter {
    jmTestFiles = [file("src/test/jmeter/TestPlan.jmx")]  
    enableExtendedReports = true //produce Graphical and CSV reports 
}

流水线阶段配置

stage('Run Non-Functional tests - Windows'){
    when { expression { env.OS == 'BAT' }}
    steps {                
        dir('') {
            bat 'gradlew.bat jmReport'
        }
    }
}

二、de.qualersoft.jmeter 2.1.0插件的任务类型未识别错误

报错信息

> Could not get unknown property 'JMeterRunTask' for root project 'flowcrmtutorial' of type org.gradle.api.Project.

原因

你直接使用JMeterRunTask和JMeterReportTask作为任务类型,但Gradle无法找到这些未指定包名的类。该插件的任务类属于de.qualersoft.gradle.plugins.jmeter.tasks包下,需使用全限定类名引用;另外,插件本身已提供默认的jmeterRun和jmeterReport任务,无需手动注册自定义任务,你的配置方式不符合插件API规范。

对应build.gradle配置

plugins {
    id "de.qualersoft.jmeter" version "2.1.0"
}

tasks.register('jmRun',JMeterRunTask) {
    jmxFile.set("TestPlan.jmx")
}

tasks.register("jmReport",JMeterReportTask) {
    jmxFile.set("TestPlan.jmx")
    dependsOn("jmRun")
    deleteResults=true
}

内容的提问来源于stack exchange,提问作者P.Brito

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 12:01:08