JMeter 무작정 따라해보기(Windows)

kyeongjun_min·2022년 2월 23일
0

API 테스트 자동화

목록 보기
1/2
post-thumbnail

API 테스트 자동화에 관심이 생기면서 작년에 들었던 API 테스트 자동화 교육이 떠올랐다.
문득 자료를 다시 찾아보니까 어디서 본듯한 녀석이 눈에 띄었다.

JMeter

어렴풋이 성능 테스트 도구로 알고있었는데, API 테스트 자동화에도 사용이 가능하다고 한다.

알아본 결과, JMeter의 특성은
1. Open Source Project
2. GUI 기반
3. JAVA 성능 테스트 도구
4. API 기능 테스트 외 API 성능 테스트 가능
5. Data-Driven 테스트 가능
6. 코드 작성 없이도 필요한 모든 기능이 구현 가능하다.

이번에는 구글링을 통해서 찾은 JMeter의 사용법에 대해 무작정 따라해보기로 했다.



  1. java 8 버전 이상이 설치되어 있어야 합니다.

  1. JMeter 공식 다운로드 페이지에서 Binaries > zip 파일을 다운로드 받는다.

다운로드 링크 : https://jmeter.apache.org/download_jmeter.cgi


  1. 다운로드 받은 zip 파일을 압축 해제한다.

  1. 압축 해제한 폴더 apache-jmeter-5.4.x > bin > jmeter.bat 파일을 실행하면 jmeter의 콘솔창과 UI창이 실행된다.

  1. 기본 창이 나온다. Test Plan 이름을 My_First_Test Plan으로 변경했다.

  1. 가장 먼저, Thread Group을 만들어준다.

  1. Thread Group에 다음과같이 내용을 입력해준다.
  • Number of Threads : 쓰레드를 동시에 몇개 생성할지 설정
  • Ramp-up period : 몇 초 간격으로 쓰레드를 만들어 실행할지 설정. (Number of Threads가 20일 경우, 시간을 60으로 설정하면 3초 간격으로 생성되는 것 같다고 한다.)
  • Loop Count : 쓰레드의 반복 수 (infinite = 무한)
  • Delay Thread creation until needed : 쓰레드 생성을 기다린다.
  • Duration : 30초로 입력하면 30초간 실행하고 종료한다. 이보다 더 오래 걸리는 작업이면 실행하지 않고 중지되는듯 하다.
  • Startup delay : 실행 유예 시간

  1. 전송할 HTTP Request를 생성한다.

  1. HTTP Request에 값을 입력해준다.
    예시에서는 naver 포털 홈을 사용한것으로 보인다.
  • Protocol[https] : https
  • Server Name or IP(접속할 URL) : naver.com
  • Port Number : 443(예시에서는 https의 기본 포트인 443 사용했다.)
  • HTTP Request : POST

  1. Thread Group에 Add > Config Element > HTTP Header Manager를 생성한다.

  1. Header 값을 다음과 같이 입력해준다.
  • Add 2회
  • Name : Content-type / Value : application/json
  • Name : Authorization / Value : token

  1. HTTP Request > Body Data에 json 정보를 추가할 수 있다.
    내용이 많을 경우에는 jmeter가 응답없음 상태로 변경될 수 있으므로 files upload를 사용해야한다.

  1. 테스트 결과로 추가할 내용은 다음과 같다.
  • View Results Tree
  • Aggregate Report
  • View Results in Table

  1. 상단의 Run 버튼으로 테스트를 실행한다.

  1. Run할 경우, 다음과 같은 얼럿이 발생할 수 있다.
  • Yes할 경우에는 실행은 안되고 자꾸 멈췄는데,
  • No를 하니까 정상적으로 돌아가기 시작했다.

  1. 이런 식으로 테스트 결과를 보여준다.







  • 참고 post
  1. https://nahyungmin.tistory.com/252
  2. https://mosei.tistory.com/entry/JMeter-%EC%A0%9C%EC%9D%B4%EB%AF%B8%ED%84%B0-%EC%82%AC%EC%9A%A9%EB%B0%A9%EB%B2%95
profile
QA Engineer, 즐겁게 기록을 시작

0개의 댓글