【发布时间】:2014-07-09 14:22:55
【问题描述】:
我想将“用户定义的变量”中的一些值与使用 jMeter 中的“JDBC 请求”从 DB 查询中获得的值进行比较(可能断言),事情是在我执行 SELECT 查询之后我只得到列名而不是价值。我怎样才能一步一步地做这个比较? 谢谢!
【问题讨论】:
标签: jdbc comparison jmeter
我想将“用户定义的变量”中的一些值与使用 jMeter 中的“JDBC 请求”从 DB 查询中获得的值进行比较(可能断言),事情是在我执行 SELECT 查询之后我只得到列名而不是价值。我怎样才能一步一步地做这个比较? 谢谢!
【问题讨论】:
标签: jdbc comparison jmeter
例如,MySQL 服务器有“mysql”数据库。在这个数据库中有一个“help_keyword”表,如下所示:
MariaDB [mysql]> describe help_keyword;
+-----------------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+------------------+------+-----+---------+-------+
| help_keyword_id | int(10) unsigned | NO | PRI | NULL | |
| name | char(64) | NO | UNI | NULL | |
+-----------------+------------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
因此,如果您将 JDBC 请求配置为选择第一行作为
select * from help_keyword limit 1;
它将返回以下内容:
help_keyword_id name
0 JOIN
例如,您需要声明此 JOIN 关键字。这样做:
添加User Defined Variables配置元素,定义KEYWORD变量为JOIN
添加JDBC Request配置如下:
select * from help_keyword limit 1;id,name将Response Assertion 添加为JDBC Request 的子项,配置如下:
name_1
${KEYWORD}上面的测试计划将执行“name”列值的第一行是否等于JOIN
有关如何使用 JMeter 断言的更多信息,请参阅 How to Use JMeter Assertions in 3 Easy Steps 指南。
【讨论】:
If the Variable Names list is provided, then for each row returned by a Select statement, the variables are set up with the value of the corresponding column (if a variable name is provided), and the count of rows is also set up。 jmeter.apache.org/usermanual/…
为您的 JDBC 请求使用“响应断言”。
选择下面提到的“响应断言”属性:
希望这会有所帮助
【讨论】: