JMeter - 我可以将2个用户变量组合成一个吗?

时间:2013-08-05 14:46:18

标签: java apache jmeter user-variables

我想知道你是否能够将两个用户变量组合成一个。例如,我有一个用户变量,它定义为根文件夹的位置,第二个变量定义为从根目录到下一个子文件夹的位置,以及我要问的是否可以将变量1 +变量放入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

7 个答案:

答案 0 :(得分:12)

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

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

答案 1 :(得分:0)

您可以创建名为测试和值的用户定义变量:

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

然后使用:$ {__ evalVar(test)}到位

最好使用/代替\来获取路径属性和变量,因为它们在Linux和Windows中都可以使用。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

例如,您有两个变量:

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

  3. 现在我们将这两个变量合并/合并,它将如下所示:

    $ {__ V(EMPLOYEEID _ $ {测试1})} $ {employeeID} + $ {Test1} = $ {__ V(employeeID _ $ {Test1})}

  4. __V function

答案 4 :(得分:0)

试试这个

$ {__ V($ {关键字1} $ {关键字2})}

答案 5 :(得分:0)

BeanShell Prozessor:

JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Envelope envelope = ((JAXBElement<Envelope>) jaxbUnmarshaller.unmarshal(file)).getValue();

答案 6 :(得分:0)

在BeanShell PostProcessor中使用:

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篮子正文文件”)

最后,您将两个变量串联在一起

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