groovy中的Java函数执行,但结果没有分配给变量

groovy中的Java函数执行,但结果没有分配给变量,java,http,groovy,jmeter,Java,Http,Groovy,Jmeter,我是jmeter的新手。我正在执行一个加密数据的java函数,并试图在Http请求体中分配该函数的输出。该函数执行后,我可以在jmeter控制台中看到响应,但由于某种原因没有分配值。以下是我迄今为止所尝试的:- "key": "${__groovy(new com.util.EncUtil().encrypt(),)}" EncUtil类中的encrypt函数加密所需的数据并返回结果。我想在我的动态Http请求中分配这个返回值。我应该更改什么?如果查看,您将看到_groovy()函数有两

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

  "key":  "${__groovy(new com.util.EncUtil().encrypt(),)}"
EncUtil类中的encrypt函数加密所需的数据并返回结果。我想在我的动态Http请求中分配这个返回值。我应该更改什么?

如果查看,您将看到_groovy()函数有两个参数:

  • 要运行的Groovy脚本
  • 用于存储结果的变量的名称
  • 因此,您可以将函数修改为:

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

    另一种选择是使用
    vars
    速记

    ${__groovy(vars.put('encryptedValue'\, new com.util.EncUtil().encrypt() as String),)}
    
    vars
    代表类实例,该类实例提供对线程上下文中所有JMeter变量的读/写访问,请查看文章以了解更多关于和_groovy()函数可用的此快捷方式和其他快捷方式的信息


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