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

Gradle环境下运行Karate+Gatling性能测试遇类加载失败求助

解决Gradle中Gatling无法加载Karate Simulation类的问题

直接修复:修正Simulation类的全限定名

你的Gradle任务中指定的类名performance2.userSimulation与实际Scala类完全不匹配:

  • Scala类的包为performance,而非performance2
  • 类名是首字母大写的UserSimulation,不是小写的userSimulation

修改gatlingRun任务的-s参数为正确的全限定类名:

task gatlingRun(type: JavaExec) {
    group = 'Web Tests'
    description = 'Run Gatling Tests'
    new File("${buildDir}/reports/gatling").mkdirs()

    classpath = sourceSets.test.runtimeClasspath
    main = "io.gatling.app.Gatling"
    args = [
            '-s', 'performance.UserSimulation', // 修正此处的类名
            '-rf', "${buildDir}/reports/gatling"
    ]
    systemProperties System.properties
}

确保Scala代码被正确编译

Gradle的Scala插件默认编译src/test/scala目录下的代码,若你将Scala文件放在src/test/java,需调整sourceSets配置以包含该目录的scala源码:

sourceSets {
    test {
        scala {
            srcDirs = ['src/test/scala', 'src/test/java'] // 新增java目录作为scala源码路径
        }
        resources {
            srcDir file('src/test/java')
            exclude '**/*.java'
            exclude '**/*.scala'
        }
    }
}

统一依赖版本并补充Gatling核心依赖

当前配置中Karate版本混合了1.1.0和1.2.0,可能引发兼容性问题;同时缺少Gatling核心依赖,需补充并统一版本:

ext {
    karateVersion = '1.1.0'
    gatlingVersion = '3.9.5' // 选择兼容JDK8的Gatling版本
}

dependencies {
    // ... 保留其他原有依赖
    testImplementation("com.intuit.karate:karate-core:${karateVersion}")
    testImplementation("com.intuit.karate:karate-junit5:${karateVersion}")
    testImplementation("com.intuit.karate:karate-gatling:${karateVersion}")
    testImplementation("com.intuit.karate:karate-apache:${karateVersion}") // 统一Karate版本
    testImplementation("io.gatling:gatling-core:${gatlingVersion}")
    testImplementation("io.gatling:gatling-app:${gatlingVersion}")
    testImplementation("io.gatling:gatling-http:${gatlingVersion}")
}

验证步骤

  1. 先执行gradle testClasses确保所有测试代码(包括Scala)完成编译
  2. 再执行gradle gatlingRun运行性能测试

内容的提问来源于stack exchange,提问作者Chanda Sreenivasulu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 21:35:23