소소한 꿀팁..?

nGrinder 테스트 스크립트 ide에서 작성하기(+ intelliJ, docs)

sami355 2024. 4. 9. 21:32

개인 프로젝트에서 테스팅 툴로 Breaking Point test를 해야하는 일이 생겼습니다

그리고 저는 여러 테스팅툴중 한글로 되어있는 레퍼런스가 많은 nGrinder를 사용하였습니다...

nGrinder는 Jython, groovy 이 두가지로 테스트 스크립트를 작성할수 있습니다.

여기까지는 좋았으나... 문제는...

당연한 이야기이지만 nGrinder에서 테스티 관련 클래스를 직접 만들어서 사용하고 있습니다.
샘플 코드 하나만 던져줘서 API를 어떻게 사용해야하는지를 모르겠습니다...

다음과 같이 API사용법을 너무나 불친절하게 안내해주고 있습니다.

혹시 깃헙 레포에 들어가면 친절하게 안내해주지 않을까 싶어 들어가보았지만...

아키텍처나 이전 버전과 어떻게 다른지에 대해 알려주는 자료들만 있었습니다.

"어린아이도 할 수 있는 부하 테스트"

그렇게 찾던 중 공식 API 문서를 찾을 수 있었습니다.

그러나 이 많고 많은 공식 문서의 API를 전부 찾아가며 테스트 스크립트를 작성하기에는 제 몸이 거부하였습니다.
모 백엔드 1타 영한님 강사님이 "개발자는 게으르기 때문에 쉽고 빠르게 하는 방법을 좋아한다."라고 말씀하셨듯

저도 빠르고 쉽게 테스트 스크립트를 작성하고 싶습니다.

이러한 API를 IDE에서 바로 확인할수 있으면 좋겠다라는 생각을 하게 되었습니다.

그렇기에 IDE에서 테스트 스크립트를 작성하고 실행까지 시켜보려 합니다.

 


IDE에 환경을 세팅하는 것은 의외로 간단합니다.
저는 IntelliJ를 사용하였으며 nGrinder측에서도 intelliJ 사용을 권장하고 있습니다.

 

1. 인텔리제이에서 다음과 같은 새로운 프로젝트를 만들어줍니다.

Groovy로 스크립트를 작성할 것이기에 다음과 같이 옵션을 줍시다

2. build.gradle 파일을 찾아보면 다음과 같이 있는것을 확인할 수 있습니다.

참고로 build.gradle은 프로젝트 최상위 디렉토리에 존재합니다.

3. mvnRepository에서 nGrinder 의존성을 가져와서 프로젝트에 추가해줍니다.

포스팅을 작성하고 있는 날짜 기준으로 3.5.9가 최신 버전이므로 해당 버전을 가져왔습니다.

4. 가져온다면 gradle을 새로 고치면 다음과 같이 의존성이 추가되는 것을 확인하실수 있습니다!

여기까지 하셨다면 nGrinder의 API를 IDE를 통해 확인할수 있습니다!

 

5. 개발 환경의 세팅이 완료되었지만 아래의 nGrinder가 아니라 intellij에서 수행할 수 있으면 더 좋을것 같습니다.

그러나 스크립트를 작성하고 실행시키면 다음과 같은 오류가 나옵니다.

 

에러 로그를 자세히 보면 실행시킬때 VM옵션으로 아래의 값을 달라고 합니다.

-javaagent:/Users/sangmin/.gradle/caches/modules-2/files-2.1/net.sf.grinder/grinder-dcr-agent/3.9.1/37607dc5d7192b652e5dec8394a0334b4d3a63d2/grinder-dcr-agent-3.9.1.jar

다음과 같이 edit을 누르시고...

다음과 같이 vm옵션에 javaagent~~를 붙여넣고 실행시키면...

만약 VM관련 인수를 주는 창이 보이지 않는다면 Modify options를 누르시면 VM관련 인수를 선택하실수 있습니다!

 

다음과 같이 테스트를 수행할수 있습니다

녹색불!

 

++ 스크립트를 작성하다 느낀점이지만 HttpRequestHttpRequestControl은 익숙하기에 퍼블릭 인터페이스와 구현체를 뜯어보면 어떻게 사용할지 감이 오지만 GTest와 같은 클래스의 경우 어떠한 역할을 하는지 모르기에 이에 대해 추가적인 포스팅을 작성하고자 합니다.