[英]Error in Beanshell Sampler JMeter for parsing RegularExpressionExtractor
在jar文件中設置以下示例結果
mySampleResult.setResponseData("ReturnCode" + returnCode + "EndReturnCode" ,null);
將jar文件復制到JMeter
lib/ext
中。
創建一個項目,其中將Regular expression extractor
附加到java請求,該請求在jar文件中調用runtest
響應字符串在下面
ReturnCodeThu Feb 16 08:01:56 GMT 2017,Thu Feb 16 09:09:27 GMT 2017,0:1:7:31,98.74105EndReturnCode
正則表達式提取器
Reference Name: returnValue
Regular Expression: ReturnCode(.*?)EndReturnCode
Beanshell代碼
${returnValue}
Beanshell錯誤
Response message: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval In file: inline evaluation of: `` try { Thu Feb 16 08:01:56 GMT 2017,Thu Feb 16 09:09:27 GMT 2017,0:1:7:31,9 . . . '' Encountered "16" at line 4, column 13.
請讓我知道為什么我會收到此錯誤。
如果只想將值打印到JMeter日志文件,請使用log.info
方法並使用vars.get
。
BeanShell代碼:
log.info("returnValue " + vars.get("returnValue"));
您的${returnValue}
語句在語法上是不正確的,您至少需要用"${returnValue}"
這樣的引號引起來,以便Beanshell解釋器將其視為Java字符串。
展望未來,僅將此語句放入Beanshell Sampler並沒有任何意義,您應該添加一些進一步的處理,即:
return "${returnValue}";
-將Beanshell Sampler結果設置為此值 SampleResult.setResponseData("${returnValue}".getBytes());
-與上述相同,但使用SampleResult速記 print("${returnValue}");
-將值輸出到STDOUT log.info("${returnValue}");
-將值輸出到jmeter.log文件 有關在JMeter腳本中使用Beanshell的更多信息,請參見如何使用BeanShell:JMeter的最喜歡的內置組件 。
從Beanshell訪問JMeter變量的方式與您的設想有所不同。
您將使用內置的“ vars” Beanshell對象(或變量,如果願意的話)。
whatsActuallyReturned = vars.get("returnValue");
vars.put("returnValue", "whatever I want to put instead");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.