在 HTTP Sampler 中发送查询之前,我需要在 beanshell 预处理器中对此查询进行一些更改。那么,问题是如何从 beanshell 预处理器访问当前采样器主体数据?我可以获取名称、路径、IP 等(例如sampler.getPropertyAsString("HTTPSampler.domain")),但不知道如何获取正文数据。
最佳答案
请在下面找到答案(假设我们正在谈论 HTTP Request )
- 名称:
sampler.getName()
- IP:
sampler.getUrl().getHost()
- 路径:
sampler.getUrl().getPath()
如果需要请求参数:
Arguments arguments = sampler.getArguments(); for (int i=0;i<arguments.getArgumentCount();i++) { Argument argument = arguments.getArgument(i); String name = argument.getName(); String value = argument.getValue(); // do what you need }
如果您需要更多信息,请参阅HTTPSamplerProxy Java文档
如果不是 HTTP 请求,您可以找出此 sampler
变量引用的类
log.info(sampler.getClass().getName());
从 jmeter.log 文件中找出类名并查找 JavaDoc .
有关 Beanshell 脚本的更多信息,请参阅 How to use BeanShell: JMeter's favorite built-in component指导。
关于杰米特。从 beanshell 预处理器获取当前 HTTP 采样器主体数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26355477/