【问题标题】:how to compare values from "User defined variables" with values from "JDBC Request" in jMeter如何在jMeter中将“用户定义的变量”中的值与“JDBC请求”中的值进行比较
【发布时间】:2014-07-09 14:22:55
【问题描述】:

我想将“用户定义的变量”中的一些值与使用 jMeter 中的“JDBC 请求”从 DB 查询中获得的值进行比较(可能断言),事情是在我执行 SELECT 查询之后我只得到列名而不是价值。我怎样才能一步一步地做这个比较? 谢谢!

【问题讨论】:

    标签: jdbc comparison jmeter


    【解决方案1】:

    例如,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 的子项,配置如下:

    • 适用于
      • JMeter 变量:name_1
    • 要测试的模式
      • ${KEYWORD}

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

    有关如何使用 JMeter 断言的更多信息,请参阅 How to Use JMeter Assertions in 3 Easy Steps 指南。

    【讨论】:

    • 你能告诉我“name_1”在其中有什么作用吗?它可以是任何名称?(似乎其他名称不起作用,它返回 null)。 *_1 是否意味着什么?
    • 请参阅有关 JDBC 请求的文档。 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 upjmeter.apache.org/usermanual/…
    • 太棒了!谢谢!我现在明白了。
    【解决方案2】:

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

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

    希望这会有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多