【问题标题】:How to use variable "sampler" in JSR223 Sampler (JMeter)如何在 JSR223 Sampler (JMeter) 中使用变量“sampler”
【发布时间】:2016-12-22 10:50:15
【问题描述】:

我正在寻找在 JSR223 Sampler、JSR223 PreProcessor、JSR223 PostProcessor 和所有其他 JSR223 脚本中使用变量 sampler 的方法。

还有一些其他变量,例如varspropsprevSampleResult。我可以轻松使用它们。

例如:

  • vars: vars.get("VARIABLE_NAME"), vars.put("VARIABLE_NAME","VALUE"), ...
  • props: props.get, props.put, ...
  • prev: prev.getTime(), prev.isSuccessful(), prev.getLatency(), ...
  • SampleResult: SampleResult.getResponseCode(), SampleResult.getResponseMessage(), ...

但我不知道如何使用变量sampler。我唯一能用这个变量做的是:

sampler.sample(): 返回当前采样器的名称会有所帮助

那么,谁能告诉我还有其他方法可以使用这个变量吗?

提前致谢!

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    对于 JSR223 采样器 sampler 变量代表 JSR223Sampler,请参阅 JavaDoc 了解所有可用的方法和字段。

    对于 JSR223 前处理器或后处理器 - 在这种情况下,sampler 变量代表 采样器类实例,例如在 HTTP Request 的情况下,它将是 HTTPSamplerProxy,对于JDBC Request - 它将是 JDBCSampler 等等。

    您可以使用 Groovy 表达式检查确切的类,例如:

    log.info(sampler.getClass().getName())
    

    您可以查看How to Use BeanShell: JMeter's Favorite Built-in Component 指南以获取有关预定义变量及其用法的更多信息。它也适用于 Groovy。

    【讨论】:

    • 这对你的例子很有帮助。我希望你能给我一些其他的样本,以便我可以更多地看到这个变量sampler的整体情况。谢谢!
    【解决方案2】:

    sampler 是一个 Sampler 对象。您可以使用此处可用的任何方法,不仅可以使用 Sampler 类中声明的方法,还可以使用 TestElement 等超类/接口中的方法。

    例如:

    sampler.sample() - returns sampler's name
    sampler.setProperty() - set a property by specifying key, value
    sampler.setThreadName() - set thread name for the sampler.
    

    【讨论】:

    • 非常感谢您的回答,我花了很多时间才找到这样的样本,但是您能原谅我吗,因为我只能投票 1 个答案。无论如何,非常感谢您为回答我的问题所做的努力。
    猜你喜欢
    • 2019-07-06
    • 2020-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 2016-12-24
    • 2023-01-23
    相关资源
    最近更新 更多