我正在尝试使用 gradle-gattle 进行负载测试,下面是我的
build.gradle
和我的 BasicSimulation.scala
plugins {
id "com.github.lkishalmi.gatling" version "3.0.2"
}
repositories {
mavenCentral()
}
apply plugin: 'scala'
dependencies {
testCompile 'junit:junit:4.12'
compile 'org.scala-lang:scala-library:2.11.8'
}
gatling {
simulations = {
include "**/predictors/*.scala"
}
}
gatlingRun {
systemProperties 'endpoint': "${endpoint}"
}
我将BasicSimulation.scala放在
src/gatling/predictors
文件夹中。
package predictors
import io.gatling.http.Predef._
import io.gatling.core.Predef._
class BasicSimulation extends Simulation {
val httpConf = http.baseURL("http://localhost:8000/")
val scn = scenario("Basic Simulation")
.exec(http("request_1")
.get("api/chemocare/gatling/"))
.pause(5)
setUp(
scn.inject(atOnceUsers(80))
).protocols(httpConf)
}
我设置了我的rest-api 并使用邮递员对其进行了测试。效果很好。 但是,当我运行
gradlew gatlingRun
时,似乎没有执行任何测试,也没有生成报告。我收到了这条消息:
BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed
如何执行和注册测试?
我遇到了同样的问题,想分享我的解决方案,因为它与评论有点偏差。
一般来说,如果不运行测试,
BUILD SUCCESSFUL
可能表明加特林无法找到模拟。
就我而言,我一直在跑步:
gradle gatlingRun-MySimulation
我错过的是
xyz
中的gatlingRun-xyz
必须是一个完全限定的名称。所以命令应该是
gradle gatlingRun-org.corp.pkge.MySimulation
在本地,我尝试使用以下方法对我来说效果很好->
gradle clean build -> 清理构建项目
./gradlew gadlingRun-com.project.sample.performance.simulations.sample.SampleBaseSimulation-> 运行单个文件
gradle gadlingRun-com.project.sample.performance.simulations.sample.SampleBaseSimulation-> 运行单个文件
gradle gadlingRun -> 运行所有模拟
我遇到了同样的问题,我构建成功,但测试没有运行。
我给出了正确的命令(下面的命令)来运行加特林测试,事实上,它之前工作正常,突然停止工作。经过一番调查后,我知道构建文件已被旧文件替换。
我删除了加特林模块中build文件夹中的内容并重建模块,然后源文件已构建到build文件夹中,然后以下命令再次开始工作
./gradlew myproject-service-gatling:gatlingRun-com.org.myproject.StoreMyQueriesToSolrGatlingTest
我的项目结构
Root_Proj
|__ myproject-service
|__ src
|__ gatling [myproject-service-gatling]
|__ build
|__ resources
|__ scala
|__ main
|__ java
|__ resources
|__ test
|__ java
|__ resources
有人可能将模拟放在错误的包中(默认情况下,当您创建空 Gradle 项目时,IntelliJ IDEA 会创建
main/scala
或 main/java
源集)
检查您的文件是否放置在
gatling/scala
包中
然后使用
./gradlew clean gatlingRun
命令运行所有模拟
我几乎对这个问题感到疯狂,尽管这并没有回答OP(正确命名了测试),但我将把它发布在这里供其他人使用。
gatlingRun
只会执行名称以 Simulation
结尾的模拟。确切的语法记录在插件配置下。