美文网首页Jmeter@软件测试
【Jmeter 】JDBC Request 、HTTP Requ

【Jmeter 】JDBC Request 、HTTP Requ

作者: 太阳当空照我要上学校 | 来源:发表于2016-11-08 13:13 被阅读48次

    文/amy

    栗子:

    JDBC Request 查询结果

    需求:

    一个订单流程: 已创建-> 签居间,jdbc request 中查询刚刚创建的那条订单的信息,id 为订单编号,所以在签居间时,需要用到这个订单编号,也就是说 希望将 查询到的 id 作为下一个 http request 中的一个参数值

    在操作之前,需简单介绍 JDBC Request 中下面几个名称含义,下面要用到

    JDBC Request

    Parameter valus:参数值

    Parameter types:参数类型,可参考:Javadoc for java.sql.Types

    Variable names:保存sql语句返回结果的变量名

    Result variable name:创建一个对象变量,保存所有返回的结果

    Query timeout:查询超时时间

    本次功能需用到 “Variable names”,下面介绍主要实现步骤

    1. JDBC Request 中"Variable name"中填写 sql 语句中,需要查询结果返回的变量名,例: id

    jdbc request

    2. 添加 监听器 - Debug PostProcessor

      JMeter variables 选择"True"

    Debug PostProcessor

    3. 运行脚本后,在 Debug PostProcessor 中查看返回的值

    如图: “id_#=1  id_1 = 54679”

    意思是: sql查询语句中,查询结果 id 只有1个值,第一个id 的值是 54679

    所以我们需要拿到 “id_1” 这个变量名,作为其他http request 调用的对象

    Debug PostProcessor

    4. 具体调用如下:

    文中的"${id_1}",意思为:将jdbc 查询结果中的 id 值作为这里 参数值,这个值是会变化的

    http request

    相关文章

      网友评论

      • 太阳当空照我要上学校:@Rickey丶cc 因为id_1是最后查询结果出来的值,如果结果有多个值的话,也可能出现id_2、id_3……等值,看你需要的是哪一个值
        Rickey丶cc:@太阳当空照我要上学校 是的,可能会有多个值,【jdbc查询结果中的 id 值作为这里参数值】,如果参数填写的是"OrderId":${id}; , 线程数为1线程组循环次数为10,取值会是什么样子的呢,id_0,id_1....Id_9 还是其他取值呢, 因为我是自学Jmeter,有很多不理解的地方,实际项目目前还未用到Jmeter,感谢您的耐心解答~
        太阳当空照我要上学校:@Rickey丶cc JDBC Request 是将查询结果保存起来作为变量来被调用,这里的id是我命名的变量名称,查询出来可能会有多个值,例如,响应结果里显示:id_#=3 ,则表示有3个值,表示为:id_1 = xx, id_2= xx, id_3=xx,根据自己需要取值。
        其他的参数化,是直接变量值对应变量名,所以直接调用变量名称就行了,思想是一样的。
        Rickey丶cc:@太阳当空照我要上学校 JDBC Request是不是和函数助手 CSV Set Date Config 正则表达式提取器不一样,这三种参数化如果是上面这种情况都只需要${id}呦,数据库查出来的结果默认应该也是从0开始的吧,还请拍砖指教😂😂
      • Rickey丶cc:有个疑问,为什么最后Http Request 参数化不是${id}而是${id_1}

      本文标题:【Jmeter 】JDBC Request 、HTTP Requ

      本文链接:https://www.haomeiwen.com/subject/lqpauttx.html