2013-12-16 7 views
1

스피 옵션과 변수 값을 .. 루비 JMeter를 스크립트 - 추출 정규식 사용 : 성능 테스트 자동화를 수행하기위한 DSL 스크립트를 작성하기 위해 루비 JMeter를 보석을 사용하여

내가 내 API의 URL로 탐색이 매우 유용을 찾을 수 , 데이터 게시, 예상 결과에 대한 주장 및 성능 추세 보고서 생성.

추출 정규 표현식을 사용하는 동안 'ruby-jmeter'구문에 '', name : ''구문이 사용되지 않습니다.

다음과 같은 것을 원합니다. http :// domain/api/user?q=create, 원시 JSON 데이터를 입력으로 게시하고 필요한 JSON 응답을받습니다.

visit name: 'CreateUser', url: "<url link>",<br> 
     method: "post",<br> 
     domain: "<domain>",<br> 
     path: 'api/user?q=create', <br> 
     raw_body: <input json> do<br> 
     #extract a pattern from response<br> 
     extract regex: '"Username":"(.+?)"', name: 'userName'<br> 
     puts '${userName}'<br> 
     # rest of code here.. <br> 
     # I want to use ${username} as input to my next Visit call<br> 
end 




:이 응답에서 패턴을 추출하고 내가하려고했던 기본적으로 http: //domain/api/user?q=read
를 방문하는 내 원시 JSON 입력에 입력으로 제공 할 수 있도록 동적으로이 값을 사용하려면 루비 자 미터를 들여다 본 사람이 나를 도와 줄 수 있습니까?

감사합니다. Vishi.

답변

1

루비 -JMeter는 테스트 계획 (.jmx)을 생성 할 때만 루비 코드를 평가하며 테스트 계획을 실행하지 않으며 루비 코드를 동시에 평가하지 않습니다.

puts '${userName}' 

경우] :

extract regex: '"Username":"(.+?)"', name: 'userName' 

다음 루비 코드는 $ {} 스타일 JMeter를 변수에 대해 아무것도 알 수 없습니다 :

당신의 예에서이 JMeter가에서 정규 표현식 추출기를 생성합니다 정규 표현식이 일치하면 관련 ${userName} JMeter 변수가 설정되고 이후 요청에서이 변수를 사용할 수 있습니다.

visit name: 'users', url: '/api/user?q=${userName}' 

루비로 API를 테스트하는 자세한 예제는 please see this blog post