【发布时间】:2011-12-07 18:28:09
【问题描述】:
我在使用 Jmeter 和存储/使用其中的变量时遇到了一些问题:
-
我有一个 JDBC 请求,它使用以下 sql 执行非常简单的“选择语句”:
select count(member_id) from member
然后将其存储在名为 count 的变量中。我知道计数应该是多少(应该是 312),但 count_1 得到的值是 40077。更令人不安的是,在某个时候,它开始工作并获得正确的计数。知道发生了什么吗?
-
在单独的 JDBC 请求中,我检索成员列表:
select member_id from members
这存储在一个名为 members 的变量中。然后我创建了一个 THIRD JDBC 请求来查询和抓取一个随机成员:
select * from members where member_id = ?
在“参数值”中,我输入了${__V(member_${__Random(1,10)})}(注意我输入了 10,而不是 $count,因为我什至无法让它与硬编码的数字一起正常工作)。我看到这被正确解析,但我得到的错误是:
org.postgresql.util.PSQLException: ERROR: invalid input syntax for integer: "member_7"
所以它没有替换 member_7 变量的值。相反,它只是传递字符串。我在这里做错了什么?
【问题讨论】:
-
运行“从成员中选择成员 ID”的 JDBC 请求将该值存储在成员变量中。 Jmeter 将创建一个 member_# 变量来保存结果的计数,然后是 member_1、member_2(对于从查询返回的尽可能多的成员)。不想每次都选同一个,所以想通过在会员后面加一个随机数来随机选一个结果_
-
所以根据某人的建议,我尝试使用随机变量控制。它允许您生成一个随机数并在其前面添加文本。这非常适合我想要“member_”+随机数的情况。我唯一的问题是最小值和最大值似乎只接受数字。我尝试将我的 ${count_1} 变量放在这里,以确保将计数限制为数据库中存在的成员数,但它似乎不起作用。有没有办法在最小/最大字段中指定一个变量?
标签: postgresql variables jdbc jmeter