Java 用于分析RegularExpressionExtractor的Beanshell采样器JMeter中出错
在jar文件中设置下面的示例结果Java 用于分析RegularExpressionExtractor的Beanshell采样器JMeter中出错,java,regex,jmeter,beanshell,Java,Regex,Jmeter,Beanshell,在jar文件中设置下面的示例结果 mySampleResult.setResponseData("ReturnCode" + returnCode + "EndReturnCode" ,null); 在JMeter的lib/ext中复制jar文件 创建一个项目,其中正则表达式提取器附加到调用jar文件中runtest的java请求 下面是响应字符串 ReturnCodeThu Feb 16 08:01:56 GMT 2017,Thu Feb 16 09:09:27 GMT 2017,0:1:7
mySampleResult.setResponseData("ReturnCode" + returnCode + "EndReturnCode" ,null);
在JMeter
的lib/ext
中复制jar文件
创建一个项目,其中正则表达式提取器
附加到调用jar文件中runtest的java请求
下面是响应字符串
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
比恩希尔代码
${returnValue}
比恩希尔的错误
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
比恩希尔代码:
log.info("returnValue " + vars.get("returnValue"));
您的
${returnValue}
语句在语法上不正确,您至少需要用引号将其括起来,如“${returnValue}”
,以便Beanshell解释器将其视为
展望未来,仅将此声明放在Beanshell采样器中没有任何意义,您应该添加一些进一步的处理,即:
返回“${returnValue}”代码>-将Beanshell采样器结果设置为此值
SampleResult.setResponseData(${returnValue}.getBytes())代码>-同上,但使用速记
print(“${returnValue}”)代码>-将值输出到
log.info(“${returnValue}”)代码>-将值输出到jmeter.log文件
有关在JMeter脚本中使用Beanshell的更多信息,请参见。从Beanshell访问JMeter变量的方式与您所设想的方式不同 您将使用“vars”内置Beanshell对象(或者变量,如果您愿意)
我通常忽略这种形式的评论,但你似乎不仅无知,而且有点傲慢。对不起,我的错。但是这项功能似乎没有文档记录!
whatsActuallyReturned = vars.get("returnValue");
vars.put("returnValue", "whatever I want to put instead");