2016-11-17 2 views
0

BeanShell PreProcessor 스크립트에서 __FileToString 기본 제공 함수를 사용할 때마다 BeanShellInterpreter를 지나칠 수 없습니다. FileContents 변수가 채워지지만 스크립트가 실패하고 스크립트를 사용할 수 없습니다. 여기에 오류가jmeter 내부 함수가 실패했습니다. BeanSHellInterpreter

2016년 11월 17일 15시 52분 18초 오류입니다

try { 
Integer count=vars.get("SessionId").length()-5; 
vars.put("vAuth", vars.get("v_username") +  vars.get("SessionId").substring(count) + ":"); 
log.info("Writing a info message"); 
    ${__FileToString(C:/tmp/DeltaConnectDemoTool_3_2_0S1_5515/bin/request.txt,,FileContents)}; 

log.info("Writing a second info message"); 
} 
catch (Throwable ex) { 
    log.error("Failed to do this or that", ex); 
} 

코드와 오류 메시지는 ...이다 - jmeter.util.BeanShellInterpreter : 오류 호출 BSH method : eval 파일에서 : 인라인 평가 : "try {Integer count = vars.get ("SessionId "). length() - 5; vars.put ("vAuth", vars.get ... "발생했습니다": "5 행 8 열에서.

2016/11/17 15:52:18 WARN - jmeter.modifiers.BeanShellPreProcessor : 문제 BeanShell 스크립트에서 org.apache.jorphan.util.JMeterException : bsh 메소드를 호출하는 중 오류가 발생했습니다 : eval 파일에서 인라인 평가 :``{{Integer count = vars.get ("SessionId")} length() - 5; , vars.get를 ("vAuth"를 넣어 ''가 발생했습니다... ":"5 행에, 열 (8)

답변

0

시도처럼 큰 따옴표로 파일에 문자열 경로를 넣어 :

${__FileToString("C:/tmp/DeltaConnectDemoTool_3_2_0S1_5515/bin/request.txt",,FileContents)}; 
0

인라인 함수 또는 변수를 스크립트 본문에 추가하지 않는 것이 좋습니다. 다음 두 가지 대체 옵션이 있습니다.

  1. "매개 변수"섹션의 기능을 사용하십시오. 함수가 어떤 값을 반환하면 당신은 Parameters 또는 같은 bsh.args[0]으로으로 Beanshell 코드에서 나중에 참조 할 수있을 것입니다 :

    Beanshell Parameters

  2. 은으로 Beanshell 코드의 기능을 구현합니다.

    String FileContent = org.apache.commons.io.FileUtils.readFileToString(new File("request.txt")); 
    vars.put("FileContent", FileContent); 
    

은 내가 열 여러 개의 파일을 가지고 옵션 1은 나를 위해 일하는 것이 생각하지 않는다

+0

JMeter를 스크립팅에 몇 가지 추가 정보를 How to Use BeanShell: JMeter's Favorite Built-in Component를 참조하십시오 : 귀하의 경우는 FileUtils.readFileToString() 기능을 할 수있다 (내가 할 계획 인 각 RESTAPI 호출마다 하나씩. 옵션 2는 매력처럼 작동했습니다 ... 감사합니다! PS : 문서에서 스크립트 본문에 내장 함수를 사용하지 않는다고 말하는 곳은 어디입니까? 나를 위해)? –