2016-08-16 9 views
1

私は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秒で成功を印刷して出ます。

どのように

  1. 私はsbt testスプレーWebアプリケーションを実行する際に がgaling負荷試験を開始し、サーバー

編集に対して実行される

  • を開始していることを確認することができます:私も試しましたsbt test scenarios:BasicSimulationとエラーを投げた

    Not a valid key: BasicSimulation 
    [error] scenarios:BasicSimulation 
    
  • 答えて

    1

    Gatling sbt pluginを使用してsbtからトリガーする必要があります。デフォルト設定では実行されませんが、the gatling onegatling:testで実行されることに注意してください。

    +0

    ありがとうございます!私はプラグインを設定し、ゲーティング:テストをすることができますが、それでもスプレーサーバーは起動しません。私はギャトリングをすることができますか:テストは "実行"もですか?私が 'sbt run gatling:test'を実行しても決して逃げることはないので、ギャトリングには絶対に行きません:test –

    +1

    たぶん、sbtの専門家があなたにそのことを説明することができます。次に、2つの異なるsbtプロセスを実行できます。しかし、ロードテストの観点からは、これは意味をなさない:あなたはlocalhostでテストし、テスト中のアプリケーションはリソース(CPU)を共有し、結果は完全に無関係になるだろう。 –

    +0

    ご協力いただきありがとうございます。より具体的なsbtタグで別の質問を開きます。 –

    0

    ガトリングは、Scalaのアプリケーションとして書かれている - それは、標準のJVMアプリごとに開始される - あなたはstartup script gatling.shでこれを見ることができます:

    # Run Gatling 
    java $JAVA_OPTS -cp "$GATLING_CLASSPATH" io.gatling.app.Gatling "[email protected]" 
    

    SBTがどのように開始するには、「知らない」ガトリングSimulationは、Specs2を実行する方法を「知っている」と同じ方法で表しますSpecification。幸いなことに、あなたが欲しいものを正確に行うギャトリングSBTプラグインがあるようです。 - demo project on GitHubをチェックしてください。

    関連する問題