Jmeter로 성능테스트 하기(토큰 추출)

김영식·2023년 8월 12일
2
post-thumbnail

Jmeter를 이용해서 성능테스트를 해보았습니다.
로그인 처리 부분에서 시간을 많이 썼기에 이것을 중점적으로 적어보겠습니다.

시나리오 작성

레시피를 추천해주는 사이트의 서버를 테스트 하기 앞서 가상의 유저가 어떤식으로 우리 사이트를 이용할지를 적어봤습니다.

회원가입 -> 로그인 -> 재료 추가 -> 레시피 검색 -> 레시피 상세 조회 -> 댓글 작성 -> 레시피 좋아요 누르기 -> 작성한 레시피 조회

이런식으로 시나리오를 간단하게 작성하면 테스트 작성에 도움이 됩니다.

테스트 준비

100명의 유저가 시나리오처럼 사이트를 이용한다고 가정하고 테스트를 하기 위해
먼저 100개의 유저정보를 준비합니다.

준비한 유저 정보를 이용하기 위해 우선 Test Plan에 User Defined Variables를 추가하고
email과 password를 변수로 선언합니다.

CSV Data Set Config를 추가한 후 FileName에 미리 만들어둔 테스트계정 텍스트파일을 추가하고
Variable Names는 email, password로 Delimiter은 ","로 설정합니다.

테스트 작성의 편리를 위해 HTTP Request에 공통적으로 들어가는 부분을 작성합니다.
저는 로컬 환경에서 테스트를 하기위해 아래 사진 처럼 설정했습니다.

마찬가지로 Header에 공통적으로 들어가는 부분을 작성해줍니다.
로그인 유저의 JWT토큰을 요청 헤더에 넣어주기 위해 사진과 같이 작성하고
ContentType은 JSON형식이라 작성하였습니다.

회원가입 요청에 email과 password는 UserDefinedVariavles에 준비한것을 활용합니다.

로그인도 회원가입과 같이 요청을 보내고 Regular Expression Extractor을 이용해 토큰을 추출합니다.
Response Header에 Authorization을 추출하여 myToken이라는 이름으로 저장하는 것 입니다.
이렇게 하면 HTTP Header Manager에서 설정한 것 처럼 모든 요청에 추출한 토큰값이 들어갑니다.

테스트 작성

시나리오에 맞게 테스트를 작성하였습니다.

결과 확인을 위해 View Results Tree, Summary Report, View Results in Table을 추가하고 마무리 하였습니다.

1개의 댓글

comment-user-thumbnail
2023년 8월 12일

잘 읽었습니다. 좋은 정보 감사드립니다.

답글 달기