gpt4 book ai didi

jmeter - ${__P()} 中的变量插值

转载 作者:行者123 更新时间:2023-12-04 00:13:20 24 4
gpt4 key购买 nike

我正在尝试在 ${__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

根据位于 http://jmeter.apache.org/usermanual/functions.html#__evalVar 的 Jmeter 文档,我希望 evalVareval 可以工作(老实说,仍然有点不清楚差异)。我错过了什么?

最佳答案

属性正在之前 用户定义的变量值被评估,因此它不会以这种方式工作。

选项在:

  1. 在 .jmx 脚本中硬编码默认值,例如:

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

    tokenSetOnCommandLine=something

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

    jmeter -JtokenSetOnCommandLine=somethingElse

    它将用 somethingElse 覆盖 something 的“默认”值。否则 something 将被使用。

参见 Apache JMeter Properties Customization Guide有关 JMeter 属性的更多信息

关于jmeter - ${__P()} 中的变量插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32506262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com