杰米特。从 beanshell 预处理器获取当前 HTTP 采样器主体数据

标签 jmeter load-testing

在 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/

相关文章:

java - 如何使用 application/x-www-form-urlencoded 运行 jmeter 请求; charset=UTF- 8"(like postman' s) 设置

video-streaming - 如何对使用 Opentok 实现的移动视频流应用程序进行负载测试/压力测试?

performance - blazemeter 如何计算 hits/sec?

performance - IIS 10 - maxConcurrentRequestsPerCPU 设置超过 5000 将被忽略

performance - 如何比较 2 个不同 JMeter 自动运行的输出?

web-services - 如何在 JMeter bean shell 断言中打印变量的值

rest - JMeter 3.0 HTTP Put不发送RAW数据

jmeter - 无法在HTTP请求中插入任何正文

java - 如何使用 Java 代码在 Jmeter .jmx 文件中添加正则表达式提取器和 cookie 管理器?

java - Jmeter 多次执行来自 CSV 的每条记录