Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何比较“中的值”;“用户定义变量”;值来自;“JDBC请求”;英寸_Jdbc_Comparison_Jmeter - Fatal编程技术网

如何比较“中的值”;“用户定义变量”;值来自;“JDBC请求”;英寸

如何比较“中的值”;“用户定义变量”;值来自;“JDBC请求”;英寸,jdbc,comparison,jmeter,Jdbc,Comparison,Jmeter,我想比较(可能断言)来自“用户定义变量”的一些值与使用jMeter中的“JDBC请求”从DB query获得的值,事情是在我执行SELECT查询之后,我只得到列名,而不是值。如何一步一步地进行比较? 谢谢大家! 对JDBC请求使用“响应断言”。 选择下面提到的“响应断言”属性: 适用于:“Jmeter变量”,例如${value},其中value是用户定义的变量 要测试的响应字段:“文本响应” 模式匹配规则:根据您的要求 希望这会有所帮助例如,MySQL服务器有“MySQL”数据库。该数据库中

我想比较(可能断言)来自“用户定义变量”的一些值与使用jMeter中的“JDBC请求”从DB query获得的值,事情是在我执行SELECT查询之后,我只得到列名,而不是值。如何一步一步地进行比较? 谢谢大家!

对JDBC请求使用“响应断言”。
选择下面提到的“响应断言”属性:

  • 适用于:“Jmeter变量”,例如${value},其中value是用户定义的变量
  • 要测试的响应字段:“文本响应”
  • 模式匹配规则:根据您的要求

希望这会有所帮助

例如,MySQL服务器有“MySQL”数据库。该数据库中有一个“help_关键字”表,如下所示:

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
关键字。为此:

添加配置元素并定义值为
JOIN

添加配置如下:

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)
  • 查询类型
    • Select语句
  • 质疑
    • 从帮助中选择*u关键字限制1
  • 变量名
    • id,name

添加为JDBC请求的子级,配置如下:

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)
  • 适用于
    • JMeter变量:
      name_1
  • 要测试的模式
    • ${KEYWORD}

上述测试计划将执行“名称”列值的第一行是否等于
JOIN


有关如何使用JMeter断言的更多信息,请参阅指南

你能告诉我“名字1”在这方面有什么作用吗?它可以是任何名称?(似乎其他名称不起作用,返回null)。*_1有什么意义吗?请参阅有关JDBC请求的文档
如果提供了变量名列表,则对于Select语句返回的每一行,将使用相应列的值(如果提供了变量名)设置变量,并设置行数
。伟大的谢谢我现在明白了。