2010년 02월 10일
JMeter 에서 BeanShell 사용하기
JMeter 상에서 복잡한 변수(입력값을 암호화 해서 Base64로 인코딩 한 값)를 사용하기 위해서 어떤 방법을 써야할까




고민하다가 JMeter 내부적으로 BeanShell 을 지원하는걸보고 이걸로 삽질 해보기로 함
사용버전 : JMeter-2.3.4 (download link)
BeanShell 을 사용하기 위해서는 사용할 스크립트를 로드하고 호출해야 하는데
JMeter 프로그램 시작시에 로드해서 사용하는 방법과 런타임에 스크립트 로드하고 함수 호출하는 방법이 있는 것 같음
나는 JMeter 프로그램 시작시에 로드해서 사용하는 방법 쓰기로 함
시작시에 로드하기 위해서 ${jmeter.root}/bin/jmeter.properties 파일에서
#beanshell.function.init=BeanShellFunction.bshrc
부분 주석 풀어줌
${jmeter.root}/bin/BeanShellFunction.bshrc 파일에 샘플 스크립트 내용이 들어있는데
그냥 소심하게 이 파일 수정해서 테스트 해보기로 했음
파일 끝부분에

식으로 genKey 함수코드 추가(파일앞쪽에 함수에서 사용된 클래스 import 가 필요하면 import 구문도 java와 동일하게 넣어줌)
JMeter 실행후 대충 다음과 같은 항목을 만들어서 Beanshell 이 정상적으로 돌아가는지 확인했다

JMeter 상에서 BeanShell 을 호출하기 위해서 ${__BeanShell(function())} 식으로 사용함
주의할 점은 함수 호출시 파라미터가 여러개일 경우 파라미터를 구분하기 위한 ','(콤마) 앞에 '\'(역슬래시) 를 붙여줘야 함
ex) getKey("aaa" \, "bbb" \, "ccc")

위에서 정의한 hashedKey 값을 파라미터로 넘겨줌

test 파라미터로 BeanShell 실행 결과값이 들어간 것을 볼 수 있다
# by | 2010/02/10 18:04 | 밥벌이 | 트랙백 | 덧글(0)




