Java 如何捕获豆壳采样器的响应

Java 如何捕获豆壳采样器的响应,java,jmeter,performance-testing,beanshell,Java,Jmeter,Performance Testing,Beanshell,上面是我编写的代码,用于命中一个端点需要字节流对象的web服务。 我能够做到这一点,但我没有得到任何回应。 我得测试一下反应。 虽然我得到了200个ok,但是发送了一个字符串作为我没有得到的响应。 且响应为空白 如何获得响应?您可以使用以下对象添加输出: 您可以使用以下对象添加输出: 为了读取服务器的响应,您需要使用,而不是OutputStream 为了将流转换为字符串,您可以使用 为了返回数据,您可以使用 最低工作代码如下,根据您的需要进行调整: import java.net.Http

上面是我编写的代码,用于命中一个端点需要字节流对象的web服务。 我能够做到这一点,但我没有得到任何回应。 我得测试一下反应。 虽然我得到了200个ok,但是发送了一个字符串作为我没有得到的响应。

且响应为空白


如何获得响应?

您可以使用以下对象添加输出:


您可以使用以下对象添加输出:

  • 为了读取服务器的响应,您需要使用,而不是OutputStream
  • 为了将流转换为字符串,您可以使用
  • 为了返回数据,您可以使用
  • 最低工作代码如下,根据您的需要进行调整:

    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.nio.charset.StandardCharsets;
    import org.apache.commons.io.IOUtils;
    
    URL url = new URL("http://example.com");
    HttpURLConnection con = (HttpURLConnection) url.openConnection();
    con.setRequestMethod("GET");
    String response = IOUtils.toString(con.getInputStream(), StandardCharsets.UTF_8);
    return response;
    

    • 请注意,JMeter是构建在之上的,因此您可以使用这些库的强大功能来创建HTTP请求,请参阅几分钟内升级
    • 请注意,从JMeter 3.1开始,建议使用,查看全面的解释、基准测试、代码示例等
  • 为了读取服务器的响应,您需要使用,而不是OutputStream
  • 为了将流转换为字符串,您可以使用
  • 为了返回数据,您可以使用
  • 最低工作代码如下,根据您的需要进行调整:

    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.nio.charset.StandardCharsets;
    import org.apache.commons.io.IOUtils;
    
    URL url = new URL("http://example.com");
    HttpURLConnection con = (HttpURLConnection) url.openConnection();
    con.setRequestMethod("GET");
    String response = IOUtils.toString(con.getInputStream(), StandardCharsets.UTF_8);
    return response;
    

    • 请注意,JMeter是构建在之上的,因此您可以使用这些库的强大功能来创建HTTP请求,请参阅几分钟内升级
    • 请注意,从JMeter 3.1开始,建议使用,查看全面的解释、基准测试、代码示例等


    是否希望我按原样将此代码添加到BeanShell采样器中?它不工作。获取错误Jmeter.exception:调用bsh方法时出错:…如果您仅使用我的代码创建一个新的beanshell采样器,它是否工作?它的工作方式是:SampleResult.setResponseData(Respvar.toString());我在你的问题中看不到完整的代码。所以我给出了一般的解决方案,你想让我在BeanShell采样器中添加这个代码吗?它不工作。获取错误Jmeter.exception:调用bsh方法时出错:…如果您仅使用我的代码创建一个新的beanshell采样器,它是否工作?它的工作方式是:SampleResult.setResponseData(Respvar.toString());我在你的问题中看不到完整的代码。所以我给出了一般的解决方案我的web服务不支持get请求。没关系,只要添加
    String response=IOUtils.toString(con.getInputStream(),StandardCharsets.utf8);返回响应行到脚本的末尾,您应该看到响应数据不要忘记将这些行添加到脚本的开头
    import java.nio.charset.StandardCharsets;导入org.apache.commons.io.IOUtils还有一件事,是不是像speed wise Java Request>JSR223>Beanshell…?Java请求最快,带Groovy的JSR223次之,Beanshell最慢:我的web服务不支持get请求。没关系,只需添加
    String response=IOUtils.toString(con.getInputStream(),StandardCharsets.utf8);返回响应行到脚本的末尾,您应该看到响应数据不要忘记将这些行添加到脚本的开头
    import java.nio.charset.StandardCharsets;导入org.apache.commons.io.IOUtils还有一件事,是不是像speed wise Java Request>JSR223>Beanshell…?Java Request是最快的,JSR223和Groovy是第二位,Beanshell是最慢的: