Pri*_*ank 8 javascript performance jmeter
我正在与JMeter合作编写一些性能测试.我需要做的一件事是动态构造一个巨大的json请求并将其作为POST请求paylod发送.使用BSF预处理器,我能够动态修改有效负载,但我的javascript字符串正在编码,而我想发送它而不进行编码.
我不确定BSF预处理器如何阻止它被编码.我当前用来更改POST请求有效负载的命令如下:
var jsonData = '[{"item":"value","something":"everything"}]';
sampler.addArgument("",jsonData);
Run Code Online (Sandbox Code Playgroud)
如果您能指出一些清楚解释如何使用bsf预处理器的示例,我将非常感激.
任何跳过编码的指针也将受到赞赏.
从 JMeter 2.6 开始,您可以通过Post Body选项卡使用 RAW 请求窗格。
因此,您的解决方案是执行以下操作:
在 BSF Sampler 中,将 JSON 放入变量中:
var jsonData = '[{"item":"value","something":"everything"}]';
vars.putObject("jsonData",jsonData);
Run Code Online (Sandbox Code Playgroud)在帖子正文中,输入:
${jsonData}
Run Code Online (Sandbox Code Playgroud)使用您的方法的另一个选择是使用 Beanshell 语言(而不是 javascript)放入 BSFPreProcessor:
import org.apache.jmeter.protocol.http.util.HTTPArgument;
String jsonData = "[{\"item\":\"value\",\"something\":\"everything\"}]";
HTTPArgument arg =new HTTPArgument("", jsonData, null, true);
arg.setAlwaysEncoded(false);
sampler.getArguments().addArgument(arg);
Run Code Online (Sandbox Code Playgroud)
问候
菲利普·M.
| 归档时间: |
|
| 查看次数: |
3545 次 |
| 最近记录: |