如何在Jmeter中的http请求中发送字节数组

Sau*_*pta 3 file-upload jmeter load-testing

我使用j meter进行负载测试,我必须通过http请求调用上传Image API并实现这一点我必须将图像转换为压缩字节数组,以通过http请求将其作为发布数据发送出去.

任何人都可以通过jmeter帮助我如何实现.

真的很感激你的帮助.

Dmi*_*i T 5

有几种方法可供选择:

  1. 您可以使用HTTP Raw Request Sampler(可通过JMeter Plugins站点获得),它可以让您完全控制发送的内容,方式和位置.

  2. 您是否尝试过启用Use multipart/form-data for POSTHTTP请求采样器?这是根据RFC-1867上传文件的方式.

  3. 如果您的用例是特定的,并且以上都不适用,则可以始终使用JMeter Scripting扩展.例如,如果您向HTTP请求添加Beanshell预处理器,该请求执行文件上载,例如:

    FileInputStream in = new FileInputStream("/home/glinius/401.png");
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    byte[] buffer = new byte[1024];
    for (int i; (i = in.read(buffer)) != -1; ) {
        bos.write(buffer, 0, i);
    }
    in.close();
    byte[] imageData = bos.toByteArray();
    bos.close();
    vars.put("imageData", new String(imageData));
    
    Run Code Online (Sandbox Code Playgroud)

您将能够${imageData}在POST请求中添加参数.