본문 바로가기

테스트툴/JMeter

JMeter HTTP Cookie Manager

웹 서비스는 자료 저장이나 세션 유지를 위해 쿠키를 사용합니다

로그인된 사용자에게만 허가된 웹 페이지는 쿠키에 저장된 세션 정보로 사용자를 인증하고,

해당 페이지에 대한 권한을 부여합니다

 

이때 쿠키를 저장하는 역할을 하는 것이 HTTP Cookie Manager입니다

 

HTTP Cookie Manager ? JMeter의 Config Element의 하나로, 가상 사용자별로 서버에서 받은 쿠키 값을 저장하며 사용자에 의해 정의된 쿠키 값을 웹 서버로 전달합니다


HTTP Cookie Manager로 로그인 유지하는 테스트 실습입니다

 

우선 Test Plan에 Thread Group을 Add

Thread Group에 Simple Controller를 Add 하여 Name에 원하는 이름을 설정

위와 같이 구성

/jmeter/session/login.html과 /jmeter/session/login은  로그인을 처리하는 웹 페이지이며,

로그인에 성공하면 세션 정보를 쿠키에 저장 (/jmeter/session/login에는 사용자의 id와 패스워드 정보를 넣어준다)

 

/jmeter/session/login_test.html과 /jmeter/session/login_test.html(2)은 로그인하지 않고 접근하면,

오류가 발생

 

/jmeter/session/logout은 로그아웃을 처리하는 웹 페이지, 쿠키에 저장된 세션 정보를 삭제

 

결과를 확인하기 위해 View Results Tree를 Add

 

HTTP Cookie Manger는 Enable / Disable 둘 중 하나로 Toggle 가능합니다

Enable 상태로 Toggle 되어 있는 상태
HTTP Cookie Manger Enable 결과

위 결과는 로그아웃으로 쿠키의 세션 정보가 삭제되었으므로 마지막 로그인 페이지 테스트를 불러오면 오류를 발생

HTTP Cookie Manger Disable 결과

하지만 Disable이면 쿠키의 세션 정보가 저장 되어있지 않으므로 로그인 테스트 페이지 전부 오류를 발생


HTTP Cookie Manger의 기능을 정리 해보자면

웹 브라우저처럼 쿠키를 저장하고 보낸다

쿠키 관리자에 수동으로 쿠키를 추가할 수 있다

하지만 쿠키가 모든 JMeter Thread에서 공유되므로 쿠키 이름을 모두 고유하게 설정해야 합니다

두 번째 쿠키가 동일한 이름으로 정의되면 첫 번째 쿠키가 대체됩니다

'테스트툴 > JMeter' 카테고리의 다른 글

JMeter Regular Expression 설정 레퍼런스  (0) 2021.04.09
JMeter Regular Expression Extractor  (0) 2021.03.18
JMeter를 이용한 간단한 test plan  (0) 2021.03.08
성능 테스트  (0) 2021.03.04
JMeter란  (0) 2021.03.03