【问题标题】:Why does my function in Beanshell don't work? | JMeter为什么我在 Beanshell 中的功能不起作用? | JMeter
【发布时间】:2015-08-25 09:28:44
【问题描述】:

我使用 Beanshell-Sampler 在 Jmeter 中编写文件。 我尝试使用一些功能,例如:

status = ${__property(status)};

${__time(EEE\, d MMM yyyy)};

它只适用于 Webdriversampler,但不适用于 Beanshell。 是无法在 Beanshell 中使用函数还是只是缺少导入?

【问题讨论】:

    标签: function jmeter beanshell


    【解决方案1】:

    您可以在 Beanshell 脚本中内联函数,但需要使用引号,例如:

    String status = "${__property(status)}";
    String date = "${__time(EEE\, d MMM yyyy)}";
    

    顺便说一句,不建议使用 Beanshell 脚本,因此如果您有可能修改 JMeter 安装,最好将 JSR223 Test Elements 和 Groovy 视为一种语言。

    如果您决定切换到 JSR223 和 Groovy - 您应该停止将变量和函数引用为 ${...} 并从 Groovy 代码开始执行此操作,例如:

    访问属性值:

    String status = props.get("status"); 
    

    获取当前日期:

    import java.text.SimpleDateFormat;
    
    SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy");
    String date = sdf.format(new Date());
    

    请参阅 Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For! 指南以了解 Beanshell 与 Groovy 基准测试、在 Jmeter 中安装 Groovy 脚本引擎支持和脚本最佳实践的详细信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-05
      相关资源
      最近更新 更多