2016-08-16 5 views
1

스프레이 프레임 워크를 사용하여 작은 웹 서비스를 작성했습니다. 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에 위치하고 있으며 나는 그것이 내 웹 서버를 실행 중이거나 위에서 정의 된 테스트를 실행하거나하지 않고 성공을 인쇄 sbt test를 실행하면 스프레이 코드는

src/main/scala-2.11에 있습니다. 3 초 만에 성공을 인쇄하고 나옵니다.

나는

  1. 나는 sbt test을 수행 할 때 스프레이 웹 응용 프로그램이 는
  2. 시작되는 galing 부하 테스트가 시작된 서버에 대해

편집을 실행하도록 할 수 있습니다 방법 : 나는 또한 시도했습니다 sbt test scenarios:BasicSimulation 및 오류 던져

Not a valid key: BasicSimulation 
[error] scenarios:BasicSimulation 

답변

1

Gatling sbt plugin을 사용하여 sbt에서 트리거해야합니다. 기본 구성에서는 실행되지 않지만 the gatling one : gatling:test으로 실행됩니다.

+0

고마워요! 플러그인을 구성했는데 게이팅 : 테스트를 할 수는 있지만 여전히 스프레이 서버를 시작하지 않습니다. 개 틀림을 만들 수 있습니까? 테스트도 "실행"합니까? 만약 내가'sbt 실행 gatling : 테스트'결코 뛰쳐 나오는 결코 그래서 개똥 지빠귀에 가야 : 시험 –

+1

어쩌면 sbt 전문가가 어떻게 할 수 설명 할 수 있습니다. 그런 다음 두 가지 다른 sbt 프로세스를 실행할 수 있습니다. 그러나 부하 테스트의 관점에서 볼 때이 것은 의미가 없습니다. 로컬 호스트에서 테스트 할 예정이며 테스트중인 응용 프로그램은 리소스 (CPU)를 공유하므로 결과가 전혀 상관이 없습니다. –

+0

도움을 주셔서 대단히 감사드립니다. 더 구체적인 sbt 태그를 사용하여 또 다른 질문을 열 것입니다. –

0

개틀링은 스칼라 응용 프로그램으로 작성되었습니다 -이 표준 JVM 응용 프로그램에 따라 시작됩니다 - 당신이 startup script gatling.sh에서 볼 수 있습니다

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

SBT 어떻게 시작 "알고"하지 않는 개틀링 Simulation은 Specs2를 실행하는 방법을 "알고"있습니다. Specification. 다행히도 demo project on GitHub을 확인 하시려면을 정확히 원하는 을 수행 할 수있는 GATLING SBT 플러그인이있는 것으로 보입니다.

관련 문제