私はSprayフレームワークを使用して小さなWebサービスを作成しました。 sbt run
を使用して実行してから、ブラウザでテストできます。SBTからギャトリリング負荷テストを実行
今、私は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
ありがとうございます!私はプラグインを設定し、ゲーティング:テストをすることができますが、それでもスプレーサーバーは起動しません。私はギャトリングをすることができますか:テストは "実行"もですか?私が 'sbt run gatling:test'を実行しても決して逃げることはないので、ギャトリングには絶対に行きません:test –
たぶん、sbtの専門家があなたにそのことを説明することができます。次に、2つの異なるsbtプロセスを実行できます。しかし、ロードテストの観点からは、これは意味をなさない:あなたはlocalhostでテストし、テスト中のアプリケーションはリソース(CPU)を共有し、結果は完全に無関係になるだろう。 –
ご協力いただきありがとうございます。より具体的なsbtタグで別の質問を開きます。 –