apache JMeter -我可以将2个用户变量合并为一个吗?

7gyucuyw  于 2023-02-09  发布在  Apache
关注(0)|答案(8)|浏览(329)

我想知道你是否可以将两个用户变量合并成一个。例如,我有一个用户变量,它被定义为根文件夹的位置,第二个变量被定义为从根目录到子文件夹的位置,我想问的是,是否可以将变量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主体\JMeter篮体文件
这可能吗?
更新
现在我有了以下配置和一些测试变量,这些变量只用于测试:JMeter Config

f45qwnt8

f45qwnt81#

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

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

pod7payv2#

试试这个
${__V(${关键字1} ${关键字2})}

xwbd5t1u

xwbd5t1u3#

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

mutmk8jj

mutmk8jj4#

您可以创建名为test且值为以下值的用户定义变量:

  • ${测试数据.目录}${测试数据.测试案例}

然后用途:${__evalVar(测试)}到位
此外,最好使用/代替\作为路径属性和变量,因为它们在Linux和Windows中都可以工作。

jbose2ul

jbose2ul5#

例如,您有2个变量:
1.来自常规提取器的变量:${employeeID}
1.第二个变量是用户定义变量中定义的简单变量:Test1 = ${__Random(14,25,)}
1.现在我们将这两个变量串联/合并起来,看起来像这样:
${_V(雇员ID${测试1})} ${雇员ID} + $ {测试1} = ${_V(雇员ID${测试1})}
__V功能

uklbhaso

uklbhaso6#

BeanShell处理器:

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

v9tzhpje7#

在BeanShell后处理器中使用:

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

因此,一旦您:vartestData.directory= ${__P(测试数据.目录,“C:\用户\MURPHYA1\Desktop\JMeter主体”)} var测试数据.测试案例= ${__P(测试数据.测试案例,"\JMeter篮体文件”)
最后,您将把这两个变量连接成

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

gdx19jrr8#

在Jmeter中组合变量的最佳方法是使用__V()函数,该函数可用于计算复合变量。
示例:有2个JMeter变量:
值为foo的myVar_1
值为bar的myVar_2
语法为:

${__V(PREFIX${POSTFIX})} // in this case myVar_ is PREFIX, 1&2 POSTFIX

让我们假设你想为每个线程使用不同的变量。在这种情况下,你将像这样调用__V()函数

${__V(myVar_${__threadNum})}

希望这有帮助!

相关问题