JMeter / Beanshell“调用bsh方法时出错:eval源文件:”

西德

我在JMeter中遇到问题,收到此错误

2014/08/14 14:13:26 ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval   Sourced file: inline evaluation of: ``String RequestUrl = vars.get("RequestUrl"); String[] params = RequestUrl.split(" . . . '' : Typed variable declaration 
2014/08/14 14:13:26 WARN  - jmeter.extractor.BeanShellPostProcessor: Problem in BeanShell script org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval   Sourced file: inline evaluation of: ``String RequestUrl = vars.get("RequestUrl"); String[] params = RequestUrl.split(" . . . '' : Typed variable declaration 

我不知道发生了什么问题,否则代码似乎可以正常工作。谁能给我一些建议?

这是有问题的代码块:

String RequestUrl = vars.get("RequestUrl");
String[] params = RequestUrl.split("\\?");
String RequestTask = params[1].split("\\&")[1].split("=")[1];
System.out.println(RequestTask);
vars.put("RequestTask",RequestTask);

可能应该提到的是,该代码位于后处理器中,该处理器与“ RequestUrl”的Xpath提取器配对

编辑以包含整个错误

德米特里

我看不到您的URL以及XPath查询返回的内容,但是无论如何,您的URL解析逻辑看起来很不稳定,因为它强烈依赖于参数的顺序和存在性,并且将来在请求URL更改(例如额外的参数或已更改)的情况下可能会咬住您参数顺序或编码的东西等

请参阅以下参考:

import org.apache.http.NameValuePair;
import org.apache.http.client.utils.URLEncodedUtils;
import java.net.URI;
import java.util.List;

String url = vars.get("RequestUrl");

List params = URLEncodedUtils.parse(new URI(url), "UTF-8");

for (NameValuePair param : params) {            
    if (param.getName().equals("put your actual param name here")) {                 
        vars.put("RequestTask", param.getValue());
    }
}

同样值得一看的是如何使用BeanShell:JMeter最喜欢的内置组件,用于进行疑难解答。通常,本地化错误日志记录应使用如下方式:

log.info("something");
log.error("something else");

因此,如果您没有在日志中看到消息,则说明Beanshell无法执行该行并在上方某处失败。

另外,Beanshell错误消息也不是很有用,我在脚本中使用以下构造:

try {
    //script logic here
}

catch (Throwable ex) {
    log.error("Failed to do this or that", ex);
}

因此可以在jmeter.log文件中读取错误stracktrace。

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Jmeter。BeanShell后处理器

来自分类Dev

JMeter JMX文件损坏

来自分类Dev

通过jmeter中的beanshell执行shell命令

来自分类Dev

BeanShell Post Processor使用Jmeter解析Json

来自分类Dev

jMeter-初始化文件中的Beanshell bsh.shared哈希图数据?

来自分类Dev

JMeter / Beanshell "Error invoking bsh method: eval Sourced file:"

来自分类Dev

JMeter BeanShell断言在“”之后出现“ \\”

来自分类Dev

合并jMeter结果文件

来自分类Dev

Jmeter BeanShell断言不会使测试失败

来自分类Dev

:调用bsh方法时出错:eval源文件:对以下内容的内联评估:``

来自分类Dev

JMeter JMX文件损坏

来自分类Dev

通过jmeter中的beanshell执行shell命令

来自分类Dev

BeanShell Post Processor使用Jmeter解析Json

来自分类Dev

Jmeter beanshell后处理器

来自分类Dev

Jmeter和全局Beanshell变量

来自分类Dev

JMeter Beanshell共享类定义

来自分类Dev

jMeter-调用jmx操作

来自分类Dev

使用beanshell更新Jmeter变量

来自分类Dev

JMeter线程组未进入BeanShell PostProcessor

来自分类Dev

Jmeter-使用jmeter函数作为bsh.args

来自分类Dev

Jmeter使用BeanShell PostProcessor提取值

来自分类Dev

Jmeter类型化变量声明:方法调用

来自分类Dev

jmeter maven csv jtl文件

来自分类Dev

JMeter Beanshell整数错误

来自分类Dev

JMeter BeanShell断言:将String转换为Long时出错

来自分类Dev

Jmeter 从文件运行 SQL 脚本

来自分类Dev

JMeter 无法使用插件打开 JMeter 文件

来自分类Dev

JMeter BeanShell - 遍历值

来自分类Dev

在jmeter beanshell代码中使用List时在Jmeter中遇到“=”错误