jmeter使用jdbc协议获取数据库中数据,很多人都会用,因为大家在做测试的时候,有时候需要大量的用户进行登录,获取需要数据库中真实的数据用于测试,所以常常会用jdbc来获取数据库数据。

那从数据库获取回来的数据,一般会用什么方式来接收呢?

常见的有两种:Variable names 和 Result variable name

相信,大家肯定用的最多的就是第一种Variable names,因为这种,使用Foreach控制器使用最简单。

但是,其他的你懂得如何使用吗?

那今天,我就在这里,把Variable names 和 Result variable name 这两种接收变量,并循环使用的办法做了一个汇总,给大家讲解一下。

我们先看用 Variable names 接收数据库返回值的情况:

Variable names为dbmobile,来接收从数据库查询返回回来的100个用户号码,我们可以看下,从数据库中返回回来的数据,是如何被变量接收的。

方法一: 使用foreach控制器,循环的使用这100个手机号,进行登录

看到上图, 输入变量前缀,输入的是Variable names的变量名称;

然后开始循环和介绍循环值(上面图中我其实只用98个值,不是100个值);

再看输入变量名称,我自定义了一个变量;再勾选了数字之前加下划线。

这个图,我们就看到,登录接口中,使用了上面自定义的变量名称

方法二:使用循环控制

循环控制器,我们填写循环次数

接下来,我们就要添加计数器,计数器每次计算一次,增加1,定义一个新变量 f 来接收计数器的值。

然后,我们在登录接口中,我们使用一个 关联函数 ${__V(dbmobile_${f})}

接下来我们再看用Result variable name 接收数据库返回值的情况:

Result variable name为dbmobo,来接收从数据库查询返回回来的100个用户号码,我们可以看下,这个时候,从数据库返回回来的数怎么接收的。

方法三: 使用foreach控制器

此时,在使用foreach控制器之前,我们先要用一个正则提取器,把我们想要的用户号码提取出来。我们也来看下,提取之后的值。

看到上图,提取之后的值,是不是似曾相识,接下来用foreach控制器,是不是就很简单了。

方法四:使用循环控制

循环控制器的配置和计数器的配置,相信大家也都已经知道了,没有难度了。难点,就在下面。

看清楚这个用户参数的设置了吗?

${__BeanShell(vars.getObject("dbmobo").get(${d}).get("mobile"))}这段能理解吗?

从dbmobo这个对象中,获取第 d 个mobile的值。d是上面的计数器输出值,每次递增1

理解了上面的用户参数的值用法,这个登录接口,就么有难度了吧。看最后运行结果,是不是也可以循环登录了呢?

好了,这四种用法你是否都掌握了呢?相信很多朋友都只会其中1到2种用法吧。之前没有用过,那就好好动手学习起来吧!

史上最全的 jmeter 获取 jdbc 数据使用的四种方法的更多相关文章

  1. 史上最全的 jmeter 获取 jdbc 数据使用的4种方法——(软件测试Python自动化)

    周五,下班了吗?软件测试人. 明天是周末了!给大家推荐一个技术干货好文.史上最全的 jmeter 获取 jdbc 数据使用的四种方法.我也精剪了jmeter的自动化接口测试的视频放在了同名UP主,周末 ...

  2. JAVA中获取文件MD5值的四种方法

    JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...

  3. MYSQL获取自增ID的四种方法

    MYSQL获取自增ID的四种方法 1. select max(id) from tablename 2.SELECT LAST_INSERT_ID() 函数 LAST_INSERT_ID 是与tabl ...

  4. YSQL获取自增ID的四种方法(转发)

    YSQL获取自增ID的四种方法(转发) 1. select max(id) from tablename 2.SELECT LAST_INSERT_ID() 函数 LAST_INSERT_ID 是与t ...

  5. DBS-MySQL:MYSQL获取自增ID的四种方法

    ylbtech-DBS-MySQL:MYSQL获取自增ID的四种方法 1.返回顶部 1. 1. select max(id) from tablename 2.SELECT LAST_INSERT_I ...

  6. JavaSE-反射-获取类或者对象的四种方法

    1.使用Class类的静态方法Class.forName("xxxx"); 新建一个要想要获取的类 package org.burning.sport.javase.classlo ...

  7. JMeter 使用 http长连接 |史上最全

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 疯狂创客圈(笔者尼恩创建的高并发研习社群)Springcloud 高并发系列文章,将为大家介绍三个版本的 高并发秒杀: ...

  8. 史上最全阿里 Java 面试题总结

    以下为大家整理了阿里巴巴史上最全的 Java 面试题,涉及大量 Java 面试知识点和相关试题. JAVA基础 JAVA中的几种基本数据类型是什么,各自占用多少字节. String类能被继承吗,为什么 ...

  9. 史上最全 69 道 Spring 面试题和答案

    史上最全 69 道 Spring 面试题和答案 目录Spring 概述依赖注入Spring beansSpring注解Spring数据访问Spring面向切面编程(AOP)Spring MVC Spr ...

随机推荐

  1. python中的importlib包

    importlib.import_module(name, package=None) 导入一个模块.参数 name 指定了以绝对或相对导入方式导入什么模块 (比如要么像这样 pkg.mod 或者这样 ...

  2. Android学习笔记使用AlertDialog实现对话框

    使用AlertDialog可以实现如下对话框 案例 布局问文件就加了几个Button,我直接上Java代码了 实现显示带取消,确定按钮的对话框按钮 Button showDialogOne = fin ...

  3. 这一次搞懂Spring代理创建及AOP链式调用过程

    文章目录 前言 正文 基本概念 代理对象的创建 小结 AOP链式调用 AOP扩展知识 一.自定义全局拦截器Interceptor 二.循环依赖三级缓存存在的必要性 三.如何在Bean创建之前提前创建代 ...

  4. python的坑--你知道吗?

    python的坑--你知道吗? 1.列表的坑 坑的地方是:因为列表用pop之后,后面的索引都会自动减一 # 列表的坑之一 list1 = ['python','java','php','c','c++ ...

  5. C# 什么是泛型 ?以及对泛型各方面的一些知识点的整理

    1.1 理解什么是泛型 在.NET 2.0,可以成为革命性壮举的, 就是引入了激动人心的特性——泛型..NET泛型是CLR和高级语言共同支持的一种全新的结构,实现了一种将类型抽象化的通用处理方式.在泛 ...

  6. logback.xml 不能被加载,logback不能被执行,logback.xml 无法生效,slf4j日志样式输出失败

    1. 原因 logback.xml 无法被加载, 尝试了好久还是失败,哎,最后新建工程竟然可以,所以说还是项目的问题: 原来项目依赖了两个slf4j.jar,是版本冲突了: 2. 查找原因 idea ...

  7. jni 字符串的梳理

    1.实现的功能是java层传递一个字符串到c层2.c层首先将jstring类型转换成char*类型3.c层对字符串进行处理之后,将处理之后的char*类型转换成jstring类型返回给上层的 pack ...

  8. python list遍历方法汇总

    list=['a','b','c','d','e'] #方法1: print('#方法1:') #i值为列表的item,list为列表名,因此i值即为列表元素 for i in list: #list ...

  9. F查询与Q查询、事务及其它

    一.F查询和Q查询 1.1 F查询 在上面所有的例子中,我们构造的过滤器都是将字段值与某个我们自己设定的常量做比较.如果是对两个字段的值做比较,那这时候就要用到F查询了. Django提供F()来做这 ...

  10. 寻找hive数据倾斜路

    前言 一直以来我都是从书上.博客上.别人口中听说数据倾斜,自己也从而指导一些解决数据倾斜的方式或者一些容易出现数据倾斜的场景.但是从来没有认真的去发现过,寻求过,研究过. 正文 我打开了hive官网  ...