我是Gatling和Scala的新手,我正在尝试运行本视频开头部分指定的Gatling测试示例:https://www.youtube.com/watch?v=To7LJiK87Us,但使用的是Gradle Package 器。我在IntelliJ Idea中创建了一个Gradle项目,build.gradle文件如下
buildscript {
repositories {
maven {
url '<url>'
credentials {
<><>
}
}
}
dependencies {
classpath "gradle.plugin.io.gatling.gradle:gatling-gradle-plugin:3.8.4"
}
}
apply plugin: "io.gatling.gradle"
apply plugin: 'scala'
repositories {
maven {
url '<>'
credentials {
<><>
}
}
mavenCentral()
}
dependencies {
implementation 'org.scala-lang:scala-library:2.12.4'
gatling 'org.scala-lang:scala-library:2.12.4'
gatling 'au.com.bytecode:opencsv:2.4'
gatling group: 'org.scalaj', name: 'scalaj-http_2.12', version: '2.3.0'
gatling group: 'org.json4s', name: 'json4s-native_2.12', version: '3.5.3'
}
compileGatlingScala {
scalaCompileOptions.additionalParameters = ["-feature"]
}
gatling {
simulations = {
// Enable ALL perf testing, regardless of current pass/fail state
include "**/simulation/*Simulation*.scala"
}
}
sourceSets.gatling.resources.srcDir('conf')
gatling {
logLevel = 'WARN' // logback root level
logHttp = 'ALL'
}
注意:我这里有几个额外的依赖项,比如‘opencsv’,稍后我将需要它们来进行实际的性能测试。
我的LoadSimulation脚本如下所示
class LoadSimulation extends Simulation {
val scn = scenario("JSON")
.exec(
http("GET")
.get("http://jsonplaceholder.typicode.com/comments")
)
setUp(
scn.inject(atOnceUsers(1))
)
}
当我尝试使用gradlew运行性能测试时,它显示“构建成功”,但在/Build下的Reports文件夹中看不到结果
>gradlew gatlingRun-LoadSimulation
BUILD SUCCESSFUL in 1s
3 actionable tasks: 1 executed, 2 up-to-date
有人能告诉我我做错了什么吗?这难道不是我应该做的吗?
编辑已根据以下答案更新为以下依赖项,结果仍然相同,/Build/Reports/gatling文件夹中没有任何内容。
dependencies {
implementation 'org.scala-lang:scala-library:2.13'
gatling 'org.scala-lang:scala-library:2.13'
gatling 'au.com.bytecode:opencsv:2.4'
gatling group: 'org.scalaj', name: 'scalaj-http_2.13', version: '2.4.2'
gatling group: 'org.json4s', name: 'json4s-native_2.13', version: '3.6.7'
}
2条答案
按热度按时间b1payxdu1#
这里有一些非常错误的地方:您强制使用基于Scala 2.12和Scala 2.12的库,而使用需要Scala 2.13的Gatling 3.8。
请看官方样例项目:https://github.com/gatling/gatling-gradle-plugin-demo-scala/blob/main/build.gradle
new9mtju2#
在Scala语言中,次要版本实际上是主要版本。你可以预计2.12和2.13之间会有很大的不同。这就是你面临的问题。这就像是比较Java 7和Java 8。我以前对Scala版本的工作方式也有同样的困惑。