1、JDBC Request 参数化

  • 方法一、Jmeter 参数化,在 sql query 中使用变量

    • Jmeter 参数化,使用 csv 参数化
    • sql query 中使用 ${变量名} 引用

  • 方法二、在 sql query 中使用 "?" 作为占位符,并传递参数值和参数类型

    • 传递的参数值是常量,多个变量使用 "," 分隔(注意:Parameter values 中传入多个参数时,前提时 sql 中需要多个参数)

    • 传递的参数值是变量,使用 csv 参数化 id 再使用 ${变量名} 的方式  

2、Variables names 参数使用方法

  • Jmeter 官网给的解释是:如果给这个参数设置了值,它会保存 sql 语句返回的数据和返回数据的总行数。假如,sql 语句返回2行,3列,且 variables names 设置为 A,B,那么如下变量会被设置为:
A_#=2 (总行数)
A_1=(第1列, 第1行)
A_2=(第1列, 第2行
B_#=2 (总行数)
B_1=(第2列, 第1行)
B_2=(第2列, 第2行)
  • 如果返回结果为 0,那么 A_# 和 B_# 会被设置为 0,其它变量不会设置值。
  • 如果第一次返回 6 行数据,第二次只返回 3 行数据,那么第一次多的 3 行数据变量会被清除。
  • 可以使用 ${A_#}、${A_1}...获取相应的值
  • 实例如下
    • 添加一个 "Debug Sampler" 用来查看输出的结果,设置 variables name 为 A,B,C,D
    • A 代表第一列所有的数据,A_# 可以获取到第一列的行数  
    • A_n:获得第一列第 n 行的数据
    • 假如我们只需要第一列和第三列的数据,可以写成  A,,C ;中间的 "," 不可以省略

3、Result variable name(使用上一次查询结果作为参数)

  • JDBC Request(查询所有信息)请求设置如下

  • 添加 BeanShell Sampler
vars.put("新变量名",vars.getObject("变量名").get(第几个值).get("数据库表列名").toString());

  • BeanShell Sampler 下面添加 JDBC Request,再通过上面的结果变量 ${re} 作为查询条件进行反验证 BeanShell Sampler 取值成功

Jmeter 数据库测试参数化的更多相关文章

  1. Jmeter数据库测试参数化

    一.JDBC Request参数化 方法一.Jmeter参数化,在sql query中使用变量 Jmeter参数化,使用csv参数化 sql query中使用${变量名}引用 设置变量 输出结果: 方 ...

  2. Jmeter数据库测试

    Jmeter安装 Jmeter是纯java程序,所以在安装jmeter之前需要先安装JDK,并配置JDK路径,然后开始安装Jmeter. 进入Jmeter官网(https://jmeter.apach ...

  3. Jmeter 数据库测试

    1.环境准备,下载驱动 mysql-connector-java-5.1.45-bin.jar 下载的 jar 包保存在 Jmeter 的文件的 lib 下的 ext 目录下,则不需要做其他的配置了, ...

  4. (转)学习使用Jmeter做压力测试(三)--数据库测试

    数据库测试 JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本. 根据脚本,JMeter可通过线程组来模拟真实用户对Web ...

  5. 利用jmeter进行数据库测试

    1.首先,用jmeter进行数据库测试之前,要把oracle和mysql的JDBC驱动jar包放到jmeter安装路径的lib目录下,否则会提示错误 2.添加一个线程组,如下图 3.接下来添加一个JD ...

  6. 【转】学习使用Jmeter做压力测试(三)--数据库测试

    JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本.根据脚本,JMeter可通过线程组来模拟真实用户对Web服务器做压力测 ...

  7. Jmeter压力测试和接口测试

    jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jmeter是java开发的,所以运行的时候必须先要安 ...

  8. jmeter中测试接口

    本文主要介绍在jmeter中测试接口:主要从以下几个方面进行说明: 1.jmeter简介 2.jmeter怎么做接口测试 3.jmeter进行参数化的几种形式 4.jmeter中处理乱码方法 5.jm ...

  9. 『动善时』JMeter基础 — 22、JMeter中实现参数化(CSV)

    目录 1.参数化的定义 2.什么情况下需要用到参数化 3.JMeter实现参数化的方式 4.CSV数据文件设置界面详细说明 (1)CSV数据文件设置组件界面说明 (2)补充说明:Recycle on ...

随机推荐

  1. go 反射包

    一.什么是反射? 反射是用程序检查其所拥有的结构,尤其是类型的一种能力: 二.Printf Printf 的函数声明为: func Printf(format string, args ... int ...

  2. ListView + ArrayAdapter + 接口回调

    众所周知,ListView是安卓最为频繁使用的控件,但是,随着人们审美观的提高,一些初级的ListView已经满足不了需求了,于是,我们必须为自己定制一套专属的ListView,这就需要用到适配器,A ...

  3. 详解java访问修饰符

    详解java访问修饰符 为了防止初学者看到因为专业的术语而感觉晦涩难懂,我接下来尽量用生动比喻的说法来解释!首先第一点,我们来讲讲什么叫修饰符!看看这个名称,想想他的意思.修饰符!修饰符!,就是用来修 ...

  4. 《深入理解 Java 虚拟机》读书笔记:垃圾收集器与内存分配策略

    正文 垃圾收集器关注的是 Java 堆和方法区,因为这部分内存的分配和回收是动态的.只有在程序处于运行期间时才能知道会创建哪些对象,也才能知道需要多少内存. 虚拟机栈和本地方法栈则不需要过多考虑回收的 ...

  5. js数组的遍历(API)

    1.for 循环 普通遍历方法,可优化,存下数组的length,避免每次都去获取数组的length,性能提升 for(var i=0;i<arr.length;i++){ console.log ...

  6. 跨域cookies 共享

    这是由于,本地调试.涉及到cookies的问题 想要跨域使用的问题 vue 中的mian.js中放入下面代码 import axios from 'axios' axios.defaults.with ...

  7. Volatile不保证原子性(二)

    Volatile不保证原子性 前言 通过前面对JMM的介绍,我们知道,各个线程对主内存中共享变量的操作都是各个线程各自拷贝到自己的工作内存进行操作后在写回到主内存中的. 这就可能存在一个线程AAA修改 ...

  8. 怎么自定义DataGridViewColumn(日期列,C#)

    参考:https://msdn.microsoft.com/en-us/library/7tas5c80.aspx 未解决的问题:如果日期要设置为null,怎么办? DataGridView控件提供了 ...

  9. JavaScript基础1225

    JavaScript函数 1.函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. tip:JavaScript对大小写敏感.关键词function必须是小写,并且必须以与函数名称相同的大小写 ...

  10. linq 高集成化数据访问技术

    一:  新建名为linq的项目 创建 linq 1 在项目里添加文件夹 App_Code; 2 在文件夹(App_Code) 添加  名为db的    Linq To Sql 类  :一个Linq T ...