我需要在MYSQL数据库中查询siteID和siteURL的列表。我在JDBC Request的变量名称字段中指定了这些名称。
然后我创建了一个ForEach Logic Controller来循环遍历siteURL $ {siteURL_1},直到结果中的最后一条记录为止:
Input Variable Prefix: siteURL
Start Index: 0
End Index: 40
Output Variable Name: newSiteURL
然后我在HTTP Request的Path字段中将其用作:
${newSiteURL}
这很好,HTTP请求正在通过。
现在,我想正确命名HTTP请求,以便更好地编制索引。 为此,我决定使用结果集中的siteID字段。
为此,我创建了一个计数器变量:
Start: 1
Increment: 1
Maximum: 40
Reference Name: siteIndex
现在,为了从相应的HTTP请求中的结果显示中获取siteID,我将HTTP请求的Name字段编辑为:
${siteID_"({siteIndex})"}
但是我在查看结果树中的HTTP请求仍然显示为:
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
...
而不是HTTP请求中相应siteURL的实际siteID,如:
21231
12315
21654
64574
76876
...
答案 0 :(得分:4)
您需要更改此位:
${siteID_"({siteIndex})"}
到
${__V(siteID_${siteIndex})}
说明:
例如,如果有变量A1,A2和N = 1:
$ {A1} - 工作正常
$ {A $ {N}} - 不起作用(嵌套变量引用)
$ {__ V(A $ {N})} - 工作正常。 $ {N}变为A1,__ V函数返回A1
的值
有关如何使用有用的JMeter函数完成工作的更多示例,请参阅Using JMeter Functions帖子系列。