Gatling 자동화 로드 테스트 사용 - 속편!

이 문장은 속편이다.나는 네가 무슨 생각을 하는지 안다. 속편은 항상 나쁘지 않니?응, 그래, 이것은 통상적으로 정말이야.내가 이런 추세를 전환할 수 있기를 바란다.이 글을 통해 우리는 가틀린의 본질을 더욱 깊이 이해할 것이다.
나는 성능 테스트의 일반적인 개술부터 시작하여Gatling 기록기를 사용하여Gatling 스크립트를 구축하기 시작했다.이 예시에서 우리는 Gatling 패키지를 사용했지만 또 다른 방법이 있다.
Gatling bundle는 기업 환경에서 Gatling을 사용할 때 진정한 도구가 아니다.Gatling은 Maven, sbt, Gradle 등 구축 도구와 함께 사용할 수 있다.Maven 원형을 사용하여 새로운 Maven 프로젝트를 시작합니다.

Gatling을 위한 새 프로젝트 시작


IDE를 사용하여 원형을 사용하여 새 항목을 만들 수 있지만 명령줄에서 실행하기만 하면 됩니다.
mvn archetype:generate -DarchetypeGroupId=io.gatling.highcharts -DarchetypeArtifactId=gatling-highcharts-maven-archetype
그룹Id,artifactId,version,package를 입력하라는 메시지가 표시됩니다.선택을 확인하면 새 항목이 생성됩니다.그런 다음 Scala SDK를 설정해야 할 수도 있습니다.
src/test 폴더를 테스트 소스 루트 디렉터리로 표시해야 할 수도 있습니다.
pom.xml 파일을 보십시오.거기서 가틀린의 종속관계를 보게 될 거야.

실행 레코더


내 컴퓨터에서, 나는 게틀린 가방 bin 폴더에 있는 녹음기를 켰다.aven 프로젝트를 사용하면 src/test/resources/Recorder.scala을 실행하여 열 수 있습니다.몇 초 후에, 스크립트를 기록하는 데 사용할 수 있는 Recorder 유틸리티를 볼 수 있을 것입니다.일단 열면, 기록기의 기능은 내가 전에 설명한 것과 같다.레코더 유틸리티는 다음과 같습니다.

나는 방금 Maven 프로젝트에서 기록기를 실행하는 방법을 보여 주었다.이제 녹음기를 사용할 때가 됐어요, 그렇죠?아니야, 줄거리가 왜곡됐어!
기록기는 실행할 스크립트를 만드는 데 사용할 수 있지만, 생성된 코드가 무엇을 하고 있는지 이해하는 것은 당연히 중요하다.나는 녹음기만으로는 네가 가틀린에 대해 깊이 있게 이해하기에는 부족하다고 생각한다.우리는 녹음기를 사용하지 않고 처음부터 스크립트를 만듭니다.(녹음기에 대한 프레젠테이션은 을 참조하십시오.)

처음부터 첫 번째 스크립트를 작성하다

  • 은 스크립트를 만들기 위해 IntelliJ IDEA의 커뮤니티 버전을 사용합니다.아직 없으시면 download을 설치할 수 있습니다.설치 후 이전에 만든 항목을 엽니다.
  • src/test/scala 폴더에 scripts이라는 새 패키지를 만듭니다.
  • HelloGatling이라는 가방에 새 Scala 클래스를 만들고 편집하기 위해 엽니다.이것은 우리의 대본이 될 것이다.

  • 모든 Gatling 스크립트는 2개의 가져오기가 필요하므로 클래스에 추가합니다.
    import io.gatling.core.Predef._
    import io.gatling.http.Predef._
    

  • 클래스는 Gatling 시뮬레이션 클래스를 확장하여 Gatling 스크립트로 만들어야 합니다.
    class HelloGatling extends Simulation {
    
    }
    

  • 지금 우리는 수업을 시작할 준비를 하고 있다.http 설정부터 기본 URL을 정의하고 헤더를 설정하여 json 형식의 데이터를 보냅니다.
    val httpConfig = http
        .baseUrl("http://computer-database.gatling.io")
        .header("Accept", "application/json")
    

  • 현재, 우리는 장면을 구축할 준비가 되어 있으며, 이 장면은 우리의 스크립트와 응용 프로그램이 진행하는 모든 상호작용을 설명할 것이다.이 프레젠테이션에 대해, 우리의 스크립트는 Gatling 예시 사이트를 방문할 것이다.먼저 홈 페이지를 방문하십시오.
    val myScenario = scenario("Add a new computer scenario")
       .exec(
         http("load the Home Page")
           .get("/")
       )
    
    이 코드를 통해 우리는 하나의 절차를 가진 장면을 만들었다.우리는 장면과 절차의 텍스트 묘사를 제시했다.이 묘사들은 《관세무역총협정》의 보고서에 나타날 것이다.get문장으로 홈 페이지를 방문합니다.

  • 이제 남은 단계를 추가하여 [1] 새 컴퓨터 추가 페이지에 접근한 다음 [2] 새 컴퓨터를 발표할 수 있습니다.전체 장면은 다음과 같습니다.
    val myScenario = scenario("Add a new computer scenario")
      .exec(
        http("load the Home Page")
          .get("/")
      )
      .pause(5)
    
      .exec(
        http("get the Add New Computer page")
          .get("/computers/new")
      )
      .pause(5,10)
    
      .exec(
        http("Post the new computer")
          .post("/computers")
          .formParam("name", "Ionic Defibulizer")
          .formParam("introduced", "2020-01-01")
          .formParam("discontinued", "2020-06-30")
          .formParam("company", "37")
      )
    
    이 두 가지 새로운 절차를 제외하고, 우리는 그것들 사이에 정지를 추가했다.pause(5)은 5초, pause(5,10)은 5~10초 사이의 무작위 시간을 정지합니다.일시 중지 시간은 사용자가 페이지와 어떻게 상호작용하는지 시뮬레이션하는 데 사용됩니다.실제 정지 시간은 실제 장면을 구축하는 데 매우 중요하다.

  • 좋아, 우리는 이미 장면을 구축했어.이제 사용자를 추가하는 방법을 정의해야 합니다.이 스크립트에 대해 10개의 동시 사용자를 30초 동안 실행합니다.setUp(myScenario.inject(constantUsersPerSec(10) during (30 seconds)).protocols(httpConfig))seconds에서 다음 문제를 해결하기 위해 Scala에서 Durationant를 가져와야 합니다.
    import scala.concurrent.duration.DurationInt
    
    Gatling은 사용자를 추가할 수 있는 많은 방법을 제공합니다.documentation에 대한 자세한 내용을 확인하십시오.
  • 봤습니다.최종 제품은 다음과 같습니다.

    스크립트 실행


    우리는 스크립트를 실행하는 몇 가지 방법이 있다.가장 간단한 방법은 Maven을 사용하여 명령줄에서 실행하는 것입니다.
    mvn gatling:test -Dgatling.simulationClass=scala.scripts.HelloGatling
    
    또 다른 옵션은 src/test/resources/Engine.scala을 실행하는 것입니다.이것은 우리가 bin 폴더에서 Gatling을 실행할 때 사용한 도구와 같습니다.
    어떤 방법을 선택하든지 새로 만든 스크립트는 실행되어야 합니다. 결과는 다음과 같습니다.

    총결산


    이것은 네가 처음부터 시작한 첫 번째 각본이다.이것은 녹음된 스크립트와 크게 다르지 않지만, Maven을 사용하여 새로운 Gatling 프로젝트를 만드는 방법을 이해하고, 스크립트의 내부 작업에 대해 명확한 인식을 가지길 바랍니다.

    좋은 웹페이지 즐겨찾기