Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jmeter ${uu P()}中的变量插值_Jmeter - Fatal编程技术网

Jmeter ${uu P()}中的变量插值

Jmeter ${uu P()}中的变量插值,jmeter,Jmeter,我试图在${uu p()}函数中插入一个变量,并且已经读了好几篇关于这个问题的文章,但是它不起作用。我的用户定义变量包含: FALLBACK_TOKEN someLongString ACTUAL_TOKEN ${__P(tokenSetOnCommandLine,???)} 迄今为止: ACTUAL_TOKEN ${__P(tokenSetOnCommandLine,${FALLBACK_TOKEN})} // literally returns "${FALLBACK_TOKEN}

我试图在${uu p()}函数中插入一个变量,并且已经读了好几篇关于这个问题的文章,但是它不起作用。我的用户定义变量包含:

FALLBACK_TOKEN someLongString
ACTUAL_TOKEN ${__P(tokenSetOnCommandLine,???)}
迄今为止:

ACTUAL_TOKEN ${__P(tokenSetOnCommandLine,${FALLBACK_TOKEN})}
    // literally returns "${FALLBACK_TOKEN}" (as expected as per Jmeter docs)

ACTUAL_TOKEN ${__P(tokenSetOnCommandLine,${__V(${FALLBACK_TOKEN})})}
    // same as above

ACTUAL_TOKEN ${__P(tokenSetOnCommandLine,${__evalVar(${FALLBACK_TOKEN})})}
    // returns blank

ACTUAL_TOKEN ${__P(tokenSetOnCommandLine,${__eval(${FALLBACK_TOKEN})})}
    // literally returns "${FALLBACK_TOKEN}"

ACTUAL_TOKEN ${__P(tokenSetOnCommandLine,${__eval(FALLBACK_TOKEN)})}
    // returns "FALLBACK_TOKEN"

ACTUAL_TOKEN ${__P(tokenSetOnCommandLine,${__evalVar(FALLBACK_TOKEN})})}
    // returns blank

根据Jmeter docs at,我希望
evalVar
eval
都能正常工作(老实说,两者之间的区别还不太清楚)。我缺少什么?

在计算用户定义变量值之前,正在填充属性,因此它不会以这种方式工作

选项包括:

  • 硬编码.jmx脚本中的默认值,如下所示:

    ${__P(tokenSetOnCommandLine,something)}
    
  • 在user.properties文件(JMeter的/bin文件夹下)中设置默认值,添加以下行:

    tokenSetOnCommandLine=something
    
    在第二种情况下,如果您提供
    tokenSetOnCommandLine
    值作为命令行参数,如:

    jmeter -JtokenSetOnCommandLine=somethingElse
    
    它将用
    somethingElse
    覆盖
    something>的“默认”值。否则将使用
    某些内容


  • 有关JMeter属性的更多信息,请参阅,谢谢。这不是我所希望的答案,但它确实解释了为什么我遇到麻烦。你能告诉我如何将默认值设为null吗?