好啦,
我正在编写一个自定义Java类,以从Coherence网格中获取对象。它可以通过JMeter很好地工作,但是响应数据并没有填充到JMeter GUI中。这就是我填写SamplerResult的方式:
result.setResponseData(getResponseData(cache.get(key)).getBytes());
getResponseData(Object);
返回一个简单的字符串,我从中取出字节。但是,响应数据仍然为空。我可以将数据放在result.setSamplerData(String)
内,但不会在ResponseData内填充。它必须位于ResponseData内,因为这是可以使用Regular Expression Extractor
的唯一方法。这里有我想念的东西吗?
任何帮助深表感谢。
谢谢!
Ninn
最佳答案
实现采样器时,调用setResponseData(String, Encoding)
或setResponseData(byte[])
是正确的。
根据您在gui中设置的内容,正则表达式提取器将使用以下之一:getResponseDataAsString(), getResponseMessage(), getResponseCode(), getResponseHeaders(), getUrlAsString()
。
因此,如果您的byte[]
是代表有效字符串的东西,这应该可以工作。
或者,仅在采样器中设置变量可能会解决您当前的用例:getThreadContext().getVariables().put(name, value);