Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于分析RegularExpressionExtractor的Beanshell采样器JMeter中出错_Java_Regex_Jmeter_Beanshell - Fatal编程技术网

Java 用于分析RegularExpressionExtractor的Beanshell采样器JMeter中出错

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

在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: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");