我想发送一个内置HTTP采样器无法实现的字节数组。
继续使用BeanShell采样器。
但我发现有一些时间滞后于BeanShell Sampler
在我的代码中,我将一个硬编码的字节数组发送到Web服务端点。
是否有更好的方法,如Java Request或JSR223,其执行时间小于beanshell sampler
答案 0 :(得分:1)
使用JSR223 Sampler语言并且Groovy启用良好的Compilation Cache feature将比Beanshell更快,内存占用更少。切记不要在Groovy脚本体中直接以${var}
的形式引用JMeter函数或变量。
Java Request采样器将是最快的,但是更难以进行更改,因为您必须重新编译代码,将其放到JMeter Classpath并重新启动JMeter,即使是微不足道的更改。
更多信息:Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For!
特别是在您的情况下,您可以使用HTTP Raw Request而不是脚本。
答案 1 :(得分:1)
您应该能够在HTTP请求采样器中启用Use multipart/form-data
,然后将您的阵列作为参数发送。
您可以使用Beanshell将byte []存储在变量中:
byte[] arr = new byte[] {...};
vars.putObject("myByteArray", arr);
之后只需像往常一样引用变量$ {myByteArray}。