首页 > 解决方案 > 如何在while循环中使用来自JDBC请求的变量值(保存整数值)?

问题描述

我有一个 JDBC 请求来获取行数 - 表的“rownum”。现在我需要在单独的 JDBC 请求中执行一些额外的 SQL 操作,其中我需要一次只提取 2 行的数据,我可以使用计数器来处理这些数据。现在我需要将 rownum 减少 2,因为我已经使用了表格的两行。所以我正在尝试使用 while 循环,在该循环中我会使用 while rownum>0。但是我 。不知道如何使用第一个 JDBC 请求的输出变量,它将在 while 循环中保存整数值。我还需要在每次迭代中从中减去 2。

第一个 JDBC 请求的输出变量名称是“count_num”

然后我使用 beanshell 使用以下代码将其解析为整数:

int i = Integer.parseInt(vars.get("{count_num}").trim());

这个 beanshell 采样器也失败了。我什至尝试使用 vars.get("count_num"),但这也未能说明::

调用 bsh 方法时出错:eval 源文件:内联评估:``int i = Integer.parseInt(vars.get("count_dcn").trim());'':类型化变量声明

现在在我的 while 循环中,我想使用 I 的这个值(不知道怎么做,我应该使用 ${i})。

while 循环

我还需要在 while 循环结束时(可能在第二个 forEach 控制器之后)从 I 的值中减去 2,再次不知道该怎么做。

测试计划的结构: 测试计划

标签: jmeter

解决方案


${__javaScript(parseInt(${count_dcn_1})>0)}

此代码有效


推荐阅读