1

我需要在 MYSQL 数据库中查询站点 ID 和站点 URL 列表。我已经在 J​​DBC 请求的变量名字段中指定了这些名称。

然后我创建了一个 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

现在,为了从相应 HTTP 请求中显示的结果中获取 siteID,我将 HTTP 请求的名称字段编辑为:

${siteID_"({siteIndex})"}

但我在查看结果树中的 HTTP 请求最终仍显示为:

${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
...

而不是 HTTP 请求中相应站点 URL 的实际站点 ID,例如:

21231
12315
21654
64574
76876
...
4

1 回答 1

4

您需要更改此位:

${siteID_"({siteIndex})"}

${__V(siteID_${siteIndex})}

解释:

根据__V 功能文档

例如,如果有变量 A1、A2 和 N=1:

${A1} - 工作正常

${A${N}} - 不起作用(嵌套变量引用)

${__V(A${N})} - 工作正常。A${N} 变成 A1,__V 函数返回 A1 的值

有关如何使用有用的 JMeter 函数完成任务的更多示例,请参阅使用 JMeter 函数系列文章。

于 2014-06-04T14:01:01.067 回答