首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >BeanShell -访问响应数据- Beanshell错误?

BeanShell -访问响应数据- Beanshell错误?
EN

Stack Overflow用户
提问于 2017-02-21 21:27:09
回答 2查看 5.2K关注 0票数 0

我的Beanshell后处理程序中有这段代码

代码语言:javascript
运行
复制
String line;
String[] words;

line = SampleResult.getResponseMessage(); log.info(msg);

words  = line.split("*");

log.info("Here We are"); 

for (int i = 0; i < words.length; i++) {
  log.info(words[i]);
 }

这就是我要犯的错误

2017/02/21 14:23:31 jmeter.util.BeanShellInterpreter:错误调用bsh方法: eval源文件:内联计算:String line; String[] words; line = SampleResult.getResponseMessage(); log.inf . . . '' : Attempt to resolve method: getResponseMessage() on undefined variable or class name: SampleResult 2017/02/21 14:23:31 WARN - jmeter.extractor.BeanShellPostProcessor: Problem in BeanShell script org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of:字符串行;String[]单词;line = SampleResult.getResponseMessage();log.inf。。。'‘:尝试在未定义变量或类名上解析方法: getResponseMessage():SampleResult

EN

回答 2

Stack Overflow用户

发布于 2017-02-21 23:38:15

严格地说,要消除错误,需要用SampleResult替换prev

prev - ( SampleResult ) -允许访问以前的SampleResult

(来源)

因此,要解决异常:

代码语言:javascript
运行
复制
line = prev.getResponseMessage(); 
log.info(line);

您总是可以在对象本身中看到对象提供的变量列表:

但是,如果我正确理解,您希望从采样器获取数据而不是响应消息。因此,您可能希望使用getResponseDataAsString()而不是getResponseMessage()

所以,所有这些都是:

代码语言:javascript
运行
复制
line = prev.getResponseDataAsString(); 
log.info(line);
票数 3
EN

Stack Overflow用户

发布于 2017-02-22 03:54:46

  1. SampleResult是你可以这样使用的东西
  2. ResponseMessage !=响应体

因此,请使用下列方法之一

  • line = new String(data);
  • line = prev.getResponseDataAsString();
  • line = ctx.getPreviousResult().getResponseDataAsString());

其中:

  • data是包含父采样器响应数据二进制表示的字节数组
  • prev是当前SampleResult类实例的速记
  • ctx - JMeterContext的缩写

另外,考虑使用JSR223 PostProcessorGroovy语言而不是Beanshell,因为Groovy更兼容Java,性能更好,并且具有良好的语言特性,这将使您的代码看起来和工作得更好。有关详细信息,请参阅Groovy是新黑文章。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42378336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档