我使用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標籤打開另一個問題。 –