【问题标题】:JMeter - Can I combine 2 user variables into one?JMeter - 我可以将 2 个用户变量合二为一吗?
【发布时间】:2013-08-05 14:46:18
【问题描述】:

我想知道您是否能够将两个用户变量合二为一。例如,我有一个用户变量定义为根文件夹的位置,第二个变量定义为从根目录到子文件夹的位置,我要问的是是否可以放置变量 1+variable 2 = 全路径方式?

所以例如我有一个变量:

testData.directory = ${__P(testData.directory,C:\Users\MURPHYA1\Desktop\JMeter bodies)}
testData.testCases = ${__P(testData.testCases,\JMeter Basket body files)    

我想要生成的是:C:\Users\MURPHYA1\Desktop\JMeter body\JMeter Basket body files

这可能吗?

更新

我现在有以下配置和相当多的测试变量,仅用于测试: JMeter Config

【问题讨论】:

    标签: java apache jmeter user-variables


    【解决方案1】:

    在您的之后添加第二个“用户定义的变量”元素。 那里的每个变量都将被您的第一个元素中定义的值替换。

    - User Defined Variables
    - - test1 = a/
    - - test2 = b
    - User Defined Variables 2
    - - test3 = ${test1}${test2} 
    

    【讨论】:

    • 不需要2个用户定义的变量配置元素,一个就够了
    • 遗憾的是,在定义的变量下,这似乎在 JMeter 中不起作用。我找到了与@Dan Seibert 相同的解决方案,即您必须一个接一个地调用一个变量,例如 ${test1}${test2}/file.txt
    • 理想情况下,我们希望将用户变量合并为一个,但似乎没有任何方法可以做到这一点。
    • @PMDUBIK-INGENIERIE 我正在使用 JMeter 2.9,所描述的方式对我来说是唯一可能的。在一个配置元素中,无论我使用哪种顺序,变量都不会被替换。
    • 啊克里斯托弗,你和绅士和学者。我没有阅读关于添加第二个用户定义变量的部分。我以为你的意思只是添加另一个变量。非常感谢
    【解决方案2】:

    试试这个

    ${__V(${keyword1}${keyword2})}

    【讨论】:

    • 请解释您的方法。这将有助于更多。
    • @Raghu Ram,k 使用这种方法,密钥也被附加在两个变量的值之间,即 value-of-keyword1-keyword1-value-of-keyword2
    【解决方案3】:

    我无法在 jmeter 中将 2 个变量合并为一个。我尝试了几种方法,但最终在测试计划的其余部分中并排使用了这两个变量。 :-(

    【讨论】:

    • 是的,我今天早上发现了同样的事情。它不是最差的分辨率,但仍然很烦人
    • 有可能。请看我的回答。我正在使用 JMeter 2.9。
    【解决方案4】:

    您可以创建一个名为 test 和值的用户定义变量:

    • ${testData.directory}${testData.testCases}

    然后在适当的位置使用:${__evalVar(test)}

    另外,最好使用 / 而不是 \ 来表示路径属性和变量,因为它们在 Linux 和 Windows 中都可以使用。

    【讨论】:

    • 我已经尝试过,使用以下行:testDate.full ${__P(testData.full,${testData.directory}${testData.testCases})} 但这仍然不起作用。我想我只是错过了一些东西
    • 不要使用 P,只需添加一个用户定义的变量并创建一个您选择的新变量,其值为我已设定
    • 我现在尝试了以下方法:test1 C:\Users\MURPHYA1\Desktop\JMeter body test2 \JMeter Basket body files test3 ${test1}${test2} 仍然没有。我只是错过了什么吗?
    • 我更新了一张图片。不太确定你能不能看到它
    【解决方案5】:

    例如你有 2 个变量:

    1. Regular Extractor 中的变量:${employeeID}
    2. 第二个变量是用户定义变量中定义的简单变量:Test1 = ${__Random(14,25,)}

    3. 现在我们连接/组合这两个变量,它看起来像这样:

      ${__V(employeeID_${Test1})} ${employeeID} + ${Test1} = ${__V(employeeID_${Test1})}

    __V function

    【讨论】:

      【解决方案6】:

      BeanShell 处理器:

      String var1 = vars.get("var1");
      String var2 = vars.get("var2");
      vars.put("var3", var1+"."+var2);
      

      【讨论】:

        【解决方案7】:

        在 BeanShell 后处理器中使用:

        vars.put ("folder", vars.get("testData.directory") + vars.get("testData.testCases"))
        

        因此,一旦您拥有: var testData.directory = ${__P(testData.directory,"C:\Users\MURPHYA1\Desktop\JMeter 体")} var testData.testCases = ${__P(testData.testCases,"\JMeter Basket body files")

        你最终会将两个变量连接成

        folder = "C:\Users\MURPHYA1\Desktop\JMeter bodies\JMeter Basket body files"
        

        【讨论】:

          猜你喜欢
          • 2016-07-23
          • 2015-01-29
          • 1970-01-01
          • 2017-01-06
          • 1970-01-01
          • 1970-01-01
          • 2019-11-06
          • 2021-06-02
          • 1970-01-01
          相关资源
          最近更新 更多