2013-05-02 2 views
3

'파일에 응답 저장'리스너에서 파일 이름의 일부로 정규식 캡처를 포함하는 변수를 사용하는 데 어려움이 있습니다. 컨트롤러에서 캡처 된 변수를 성공적으로 사용할 수 있습니다. 하지만 '파일에 응답 저장'리스너의 파일 접두어 섹션에서 사용하면 만족스럽지 않습니다. Jmeter에서 캡쳐 된 정규식 변수를 파일 이름의 일부로 사용하려면 어떻게해야합니까?

이 정규식

Reference Name:  command 
Regular Expression: "command":"(.+?)" 
Template:   $1$ 
Match No.   1 
Default Value:  COMMAND_NOT_FOUND 

내가 성공적으로 '만약 컨트롤러'에 캡처 된 변수를 사용할 수 있습니다에게 있습니다

"command":"ARCHIVE_FILE" 

에 내가 정규식을 수행하고있는 JSON이다. 비록 인정해야 하겠지만, 필자는 이중 따옴표로 약간 혼란 스럽다. (이중 따옴표를 사용하지 않고 시도했지만 if 조건이 실행되지 않음)

If Controller 
Condition:  "${command}"=="ARCHIVE_FILE" 

위와 같이 작동 함을 확인했습니다. 그러나 '파일에 대한 응답 저장'에서 파일 이름 접두어의 일부로 캡처 된 변수를 사용하려고하면 파일을 '$ {command}'로 저장합니다. 변수에 저장된 값이 아닙니다.

Filename prefix: d:\tmp\${command} 

내 문제가이 인용문과 관련이 있다고 의심하여 ​​실험으로 시도했습니다.

Filename prefix: d:\tmp\"${command}" 

은 나에게 변수에 캡처 된 값을 제공했지만이 책 종단 따옴표와 JMeter를에 전혀 행복 그게 아니 었습니다.

jmeter.reporters.ResultSaver : 오류 클라이언트 다운로드 시작 java.io.FileNotFoundException에 대한 샘플 파일을 생성 : D : \ 아파치 JMeter를-2.9 \ TMP \ 클라이언트 \ "ARCHIVE_FILE"(파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다.)

여기서 도움을 주신 모든 도움.

답변

1

다음 중 하나를 수행 할 수 있습니다 : 파일 이름 접두사 필드에

1 이중 백 슬래시 :

d:\\tmp\\${command} 

이 경우 하나의 백 슬래시는 '탈출'문자와 변수의 뜻으로 간주되기 때문에 그것의 가치에 확장되지 않는다;

또는

:

2. 별도의 변수 예로서 스크립트의 다른 부분을 정의 d:\tmp\${responsePath}이 변수로 파일 이름 접두사 필드에 d:\tmp\ 교체 :

${responsePath}${command} 

두 변종이 제대로 작동하지만 2 하나는 좀 더 일반적인 것 같다.

+0

감사합니다. 잘됐다. – agranum

관련 문제