4
Gatling을 사용하여 웹 서비스 테스트를로드하려고합니다. 이건 내 build.sbtSBT를 통해 Gatling 테스트를 실제로 실행하는 방법
import io.gatling.sbt.GatlingPlugin
val gatlingVersion = "2.2.4"
val dependencies = Seq(
"io.gatling" % "gatling-core" % gatlingVersion,
"io.gatling" % "gatling-http" % gatlingVersion
)
lazy val project =
Project("gattling-tests", file("."))
.enablePlugins(GatlingPlugin)
.settings(
javaOptions in Gatling := overrideDefaultJavaOptions("-Xmx4G"),
scalaVersion := "2.12.1",
libraryDependencies ++= dependencies
)
테스트 폴더에서 나는 시뮬레이션을 확장하고 내 시나리오와 http 요청을 가진 클래스를 만들었습니다.
import io.gatling.core.Predef._
import io.gatling.http.Predef._
class ShieldAuthLoadTests extends Simulation {
val httpConf = http
.baseURL("http://localhost:8080/api/1/")
.acceptHeader("application/json")
.contentTypeHeader("json")
val login = http("Login")
.post("login")
.formParam("username", "foo")
.formParam("password", "bar")
.check(status.is(200), jsonPath("$..response.id").ofType[String].saveAs("id"))
val get = http("get")
.get("/api/api1")
.header("token1", "$id")
.check(status.is(200), jsonPath("$..response").exists)
val scn = scenario("scn")
.exec(login)
.pause(3)
.exec(get)
setUp(scn.inject(atOnceUsers(10)).protocols(httpConf))
}
내 희망은 내가 sbt gatling:test
을 할 때는 개틀링 테스트를 실행이었다. 하지만 sbt gatling:test
을 실행하면 테스트를 실행하지 않고 성공으로 끝납니다.
$GATLING_HOME/bin/gatling.sh
설명서에 나와 있지만 SBT를 통해 테스트하고 싶기 때문에 gatling.sh가 없습니다.