我正在使用Java Request将一个字节的流数组发送到我的Web服务端点。
我发现采样器没有响应,因为它是自定义的。
我无法使用任何侦听器,因为没有响应。
有人能告诉我如何让我的java请求采样器响应反映在监听器中。
这是因为听众是我实际观察网络服务性能的地方
答案 0 :(得分:2)
假设您在String
var响应中存储来自Web服务的响应,您可以这样做:
SampleResult result = new SampleResult();
result.setResponseData(response.getBytes());
/* You may also set other result properties: */
result.setResponseOK();
result.setSuccessful(true);
result.setResponseCodeOK();
result.setDataEncoding(UTF);
/* After you have set all you want, just set result to your sampler */
JMeterContextService.getContext().setPreviousResult(result);
我认为它应该可以根据需要运作。
答案 1 :(得分:1)
最小必需JavaRequest类假定从How to Use Grafana to Monitor JMeter Non-GUI Results延伸,因此它应该AbstractJavaSamplerClient返回runTest() method implementation
因此,您可以使用此SampleResult
类来控制采样器的输出,最小化采样器的工作代码,该代码返回" Hello"字符串将是这样的:
package test;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
public class SimpleJavaRequest extends AbstractJavaSamplerClient {
@Override
public SampleResult runTest(JavaSamplerContext context) {
SampleResult result = new SampleResult();
result.setResponseData("Hello", "UTF-8");
return result;
}
}
如果您编译上面的类,请将其放入SampleResult并重新启动JMeter,您将在" Classname"中看到test.SimpleJavaRequest
类。下拉
执行后,您将获得" Hello"作为回复数据:
更多信息: