如何从像JMeter的csv文件数据库中读取值

问题描述 投票:0回答:2

我想从一个SELECT查询读取值,并在API调用使用值顺序。

由于数据库值存储为VAR_1,VAR_2 ... var_N

那么,如何增加该变量的数目?

我用一个计数器和预处理器递增变量数

vars.put( “电子邮件”, “电子邮件” + “_” + vars.get( “反”))

但最终的变量是没有得到更换从选择查询值

从调试取样例如,选择查询结果

[email protected]
[email protected]
[email protected]
[email protected]

--combining变量和计数器:

vars.put ("email", "email"+"_"+vars.get("counter"))

--using变量的API后身体

{
    "username":"${email}",
    "password":"test1234"
}

实际结果:

发布数据:

{
   "username":"email_1",
   "password":"test1234"
}

预期结果:

{
   "username":"[email protected]",
   "password":"test1234"
}

TIA

jmeter
2个回答
1
投票
${__V(email_${counter})}

试试这一个,也请参阅文档:http://jmeter.apache.org/usermanual/functions.html#what_can_do

需要注意的是变量的当前不能嵌套;即$ {VAR $ {N}}不起作用。所述__V(变量)函数可用于执行此操作:$ {__ V(无功$ {N})}。您还可以使用$ {__的BeanShell(vars.get( “变量$ {N}”)}。


1
投票

你有没有考虑使用ForEach Controller?这是超级方便的迭代从提取或JDBC测试元素的变量。


如果你仍想继续目前的做法,你需要改变这一行:

vars.put ("email", "email"+"_"+vars.get("counter"))

这一个:

vars.put ("email", vars.get("email"+"_"+vars.get("counter")))

因为你投入email变量的东西像email_1email_2等代替实际${email_1}变量的值。

参考文献:

© www.soinside.com 2019 - 2024. All rights reserved.