【问题标题】:Java function inside __groovy executes but the result is not being assigned to a variable__groovy 中的 Java 函数执行但结果未分配给变量
【发布时间】:2020-01-07 21:06:46
【问题描述】:

我是 jmeter 的新手。我正在执行一个加密数据的 java 函数,我试图在我的 Http 请求正文中分配函数的输出。该函数执行,我可以在 jmeter 控制台中看到响应,但由于某种原因没有分配该值。这是我迄今为止尝试过的:-

  "key":  "${__groovy(new com.util.EncUtil().encrypt(),)}"

EncUtil 类中的 encrypt 函数对所需数据进行加密并返回结果。我想在我的动态 Http 请求中分配这个返回值。我应该改变什么?

【问题讨论】:

    标签: java http groovy jmeter


    【解决方案1】:

    如果您查看Function Helper Dialog,您会发现 __groovy() 函数有 2 个参数:

    1. Groovy 脚本运行
    2. 存储结果的变量名

    所以你可以修改你的函数看起来像:

    ${__groovy(new com.util.EncUtil().encrypt(),encryptedValue)}
    

    替代选项是使用vars 速记

    ${__groovy(vars.put('encryptedValue'\, new com.util.EncUtil().encrypt() as String),)}
    

    vars 代表 JMeterVariables 类实例,它提供对线程上下文中所有 JMeter 变量的读/写访问,查看Top 8 JMeter Java Classes You Should Be Using with Groovy 文章以了解更多关于此和其他JMeter API 可用于JSR223 Test Elements 的快捷方式和 __groovy() 函数。


    在这两种情况下,您都可以稍后在需要时将生成的值称为${encryptedValue}

    【讨论】:

      猜你喜欢
      • 2010-10-02
      • 1970-01-01
      • 2017-04-16
      • 2018-08-30
      • 1970-01-01
      • 2020-10-05
      • 2014-09-27
      • 2013-11-12
      • 1970-01-01
      相关资源
      最近更新 更多