JCETER嵌套变量引用与JDBC RESULTSESSS变量和计数器变量
-
21-12-2019 - |
题
我需要查询MySQL数据库以获取SiteID和SiteURL的列表。我在JDBC请求的变量名称字段中指定了这些名称。
然后我创建了一个foreach逻辑控制器,以通过siteurls $ {siteurl_1}循环,直到结果从结果中的最后一个记录:
Input Variable Prefix: siteURL
Start Index: 0
End Index: 40
Output Variable Name: newSiteURL
.
然后我在HTTP请求的路径字段中使用它为:
${newSiteURL}
.
此工作正常,HTTP请求正在进行中。
现在,我想正确地命名HTTP请求,以便更好地索引它们。 为此,我决定使用结果集的SiteId字段。 要执行此操作,我创建了一个计数器变量:Start: 1
Increment: 1
Maximum: 40
Reference Name: siteIndex
.
现在,要从结果中获取SiteID在相应的HTTP请求中,我编辑了HTTP请求的名称字段:
${siteID_"({siteIndex})"}
.
但是我的HTTP请求在视图结果树中仍然最终显示为:
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
...
.
而不是HTTP请求中相应的SiteURL的实际站点IID:
21231
12315
21654
64574
76876
...
. 解决方案
您需要更改此位:
${siteID_"({siteIndex})"}
.
${__V(siteID_${siteIndex})}
.
说明:
按 __v函数文档
例如,如果一个有变量a1,a2和n= 1:
$ {a1} - 作品确定
$ {a $ {n}} - 不起作用(嵌套变量参考)
$ {__ v(a $ {n})} - 工作正常。$ {n}变为a1,__v函数返回a1
的值
看使用jmeter函数 post系列有关更多示例如何使用有用的JMeter函数完成操作。
不隶属于 StackOverflow