sup*_*ted 2 jdbc database-testing httpresponse jmeter httprequest
我需要查询 MYSQL 数据库以获取 siteID 和 siteURL 列表。我已在 JDBC 请求的变量名称字段中指定了这些名称。
然后我创建了一个 ForEach 逻辑控制器来循环访问 siteURL ${siteURL_1} 直到结果中的最后一条记录,如下所示:
Input Variable Prefix: siteURL
Start Index: 0
End Index: 40
Output Variable Name: newSiteURL
Run Code Online (Sandbox Code Playgroud)
然后我在 HTTP 请求的路径字段中使用它:
${newSiteURL}
Run Code Online (Sandbox Code Playgroud)
这工作正常并且 HTTP 请求正在处理。
现在,我想正确命名 HTTP 请求,以便更好地索引它们。为此,我决定使用结果集中的 siteID 字段。
为此,我创建了一个计数器变量,如下所示:
Start: 1
Increment: 1
Maximum: 40
Reference Name: siteIndex
Run Code Online (Sandbox Code Playgroud)
现在,为了从相应 HTTP 请求中显示的结果中获取 siteID,我将 HTTP 请求的 Name 字段编辑为:
${siteID_"({siteIndex})"}
Run Code Online (Sandbox Code Playgroud)
但我在查看结果树中的 HTTP 请求最终仍然显示为:
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
...
Run Code Online (Sandbox Code Playgroud)
而不是 HTTP 请求中相应 siteURL 的实际 siteID,例如:
21231
12315
21654
64574
76876
...
Run Code Online (Sandbox Code Playgroud)
你需要改变这一点:
${siteID_"({siteIndex})"}
Run Code Online (Sandbox Code Playgroud)
到
${__V(siteID_${siteIndex})}
Run Code Online (Sandbox Code Playgroud)
解释:
根据__V 函数文档
例如,如果有变量 A1,A2 且 N=1:
${A1} - 工作正常
${A${N}} - 不起作用(嵌套变量引用)
${__V(A${N})} - 工作正常。A${N} 变为 A1,__V 函数返回 A1 的值
有关如何使用有用的JMeter 函数完成工作的更多示例,请参阅使用 JMeter 函数帖子系列。
| 归档时间: |
|
| 查看次数: |
2606 次 |
| 最近记录: |