我使用Spray框架编写了一个小型Web服务。我可以使用sbt run
运行它,然后在浏览器中进行测试。从SBT执行Gatling负载测试
现在我写了一个使用Gatling框架的负载测试。
package com.abhi
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._
class LoadTest extends Simulation {
val httpConf = http
.baseURL("http://localhost:8999")
.acceptHeader("application/json")
.doNotTrackHeader("1")
.acceptLanguageHeader("en-US,en;q=0.5")
.acceptEncodingHeader("gzip, deflate")
.userAgentHeader("Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0")
val scn = scenario("BasicSimulation")
.exec(http("request_1")
.get("/path1"))
.pause(5)
setUp(
scn.inject(atOnceUsers(10))
).protocols(httpConf)
}
测试位于夹src/test/scala-2.11
和喷码是src/main/scala-2.11
当我运行sbt test
它只是打印成功没有任何运行我的Web服务器或运行上述定义的测试。它只是在3秒内打印成功并出去。
我怎样才能
- 确保当我做了
sbt test
喷雾web应用 开始 - 的galing负载测试运行针对启动服务器
编辑:我还尝试sbt test scenarios:BasicSimulation
,它抛出错误
Not a valid key: BasicSimulation
[error] scenarios:BasicSimulation
谢谢!我配置了插件,我可以进行门控:测试,但它仍然不启动喷雾服务器。我可以做一个“加油”:测试做一个“加油”吗?如果我做了一个“运行gatling:测试”,它永远不会跑出来,所以永远不要跑到加特林:test –
也许一位专家可以向你解释如何做到这一点。然后,您可以运行2个不同的sbt进程。但是,从负载测试的角度来看,这没有任何意义:您将在localhost和Gatling上进行测试,并且测试的应用程序将共享资源(CPU),因此您的结果将完全不相关。 –
非常感谢你的帮助。我会用更具体的sbt标签打开另一个问题。 –