https://www.cnblogs.com/wuyonghuan/p/7479582.html

应用场景:调用某个接口像数据库中插入数据,需要在接口调用完成后查看数据更新或插入的数据是否正确的时候需要用到

分两大部分

第一部分--配置数据库

  • 配置数据库连接:右键“添加>配置元件>JDBC Connection Configuration ”                             

第二部分--举例说明查询请求的使用步骤

  1. 先添加一个用户自定义的变量,                                                                                       
  2. 然后按照下面第二图的格式填写变量,这里填写 的变量名称是“id” 变量值是“2klakzll4y181221082435273”(不传参数给sql语句,此步可忽略 )                                                                                                         
  3. 添加数据库请求:线程组上右键依次选择“添加>取样器>JDBC Request”                                      
  4. 在JDBC Request中写JDBC Request的信息,按照需要填写  (绿色方框部分比较重要,下方有说明该怎么填)
    1. Variable  Name of Pool  declared in Jdbc...:这里填写JDBC Connection Configuration配置的variable Name of Pool ,如下图所示 (上面的步骤中有这个配置的)             
    2. 例子中的查询语句是:SELECT * FROM order_info_116 WHERE id='${id}'  ,这里的${id}-- id即第一步中的自定义变量的名称,${id}表示取到这个变量的值: 2klakzll4y181221082435273
    3. Result variable name:设置用来保存从数据库获取的值的,会以key=value的字符串格式保存,这里填写的是“SQLresults”,即将查询结果保存在 SQLresults中,获取查询结果具体值的方法:Res= vars.getObject("SQLresults")
  5. 添加断言,判断数据库查询结果是否符合预期                                                                 
  6. 按照需求编辑断言脚本,此处以校验数据库返回的patient_id字段的值是否等于997479571,等于则断言成功,不等于则断言失败,脚本文件如下(建议先在java编辑器中调试好,再复制过来稍作修改)

说明:

第1行:Result=vars.getObject("SQLresults");   获取查询的所有结果,这里的SQLresults即JDBC请求中的“Result variable name”

第2行:log.info打印出一些信息,便于调试,实际脚本中可不要

第3行:String patientIdActual = Result.get(0).get("patient_id").toString()  取查询结果中的第1行的patient_id字段的值,转换成String类型(便于用equals方法比较),存放在patientIdActual中,即实际值

第4行:实际值存放在String 型变量patientidExpected中

第8-13行:根据业务比较实际值和期望值,得到相应的返回  --Failure=false,则断言为成功,Failure = true 则断言失败。

Jmeter学习之-从数据库取出数据并且校验数据是否准确的更多相关文章

  1. JMeter学习笔记--创建数据库测试计划

    添加线程组(并发用户):线程数(10),Rame-Up Period(0), Loop Count(3) 线程组添加JDBC请求(配置元件):Variable Name(MySQL), Databas ...

  2. MySQL(一) -- MySQL学习路线、数据库的基础、关系型数据库、关键字说明、SQL、MySQL数据库、MySQL服务器对象、SQL的基本操作、库操作、表操作、数据操作、中文数据问题、 校对集问题、web乱码问题

    1 MySQL学习路线 基础阶段:MySQL数据库的基本操作(增删改查),以及一些高级操作(视图.触发器.函数.存储过程等). 优化阶段:如何提高数据库的效率,如索引,分表等. 部署阶段:如何搭建真实 ...

  3. 学习Angularjs向数据库添加数据

    今天学习angularjs向数据库添加数据. 学习此篇,得从以往几篇开始,因为那还有创建数据表等演示. 现在来创建一个添加的存储过程: SET ANSI_NULLS ON GO SET QUOTED_ ...

  4. mysql 基本语法学习1(数据库、数据表、数据列的操作)

    今天学习了一下mysql语法,并记录下来 1.mysql的数据库操作 /***1.操作数据库的语法 ***/ -- 1)显示所有数据库 -- show databases; -- 2)创建数据库 -- ...

  5. JMeter学习(三十五)使用jmeter来发送json/gzip格式数据

    一.使用jmeter来发送gzip数据 有时候我们需要模拟在客户端将数据压缩后, 发送(post)到服务器端. 通常这种情况,会发生在移动终端上. 这样做的好处, 是可以节省流量.  当然, 服务器返 ...

  6. ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )

    //TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: publ ...

  7. JMeter学习(三十四)使用jmeter来发送json/gzip格式数据(转载)

    转载自 http://www.cnblogs.com/yangxia-test 一.使用jmeter来发送gzip数据 有时候我们需要模拟在客户端将数据压缩后, 发送(post)到服务器端. 通常这种 ...

  8. JMeter学习笔记(十八)——返回的响应数据出现中文乱码_解决方案

    一.问题描述 使用jmeter过程中遇到了请求返回的响应数据出现中文乱码 二.原因分析 当没有对响应数据or响应页面设置支持解析中文的编码时,JMeter则会以默认的ISO-8859-1格式解析,而其 ...

  9. 大数据学习day25------spark08-----1. 读取数据库的形式创建DataFrame 2. Parquet格式的数据源 3. Orc格式的数据源 4.spark_sql整合hive 5.在IDEA中编写spark程序(用来操作hive) 6. SQL风格和DSL风格以及RDD的形式计算连续登陆三天的用户

    1. 读取数据库的形式创建DataFrame DataFrameFromJDBC object DataFrameFromJDBC { def main(args: Array[String]): U ...

随机推荐

  1. 让我头疼一下午的Excel合并单元格

    Excel导出常见问题 excel导出其实不算什么难事 在网上copy下模板代码,填充自己的业务数据,提供一个http接口基本就可以得到你要导出的数据了. 但是,凡事都有例外,截止今天,excel导出 ...

  2. mysql使用自增Id为什么存储比较快

    转自:https://blog.csdn.net/bigtree_3721/article/details/73151028 InnoDB引擎表的特点 1.InnoDB引擎表是基于B+树的索引组织表( ...

  3. java 泛型好文收集

    java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一 https://www.cnblogs.com/coprince/p/8603492.html

  4. oracle 优化or 更换in、exists、union all几个字眼

    oracle 优化or 更换in.exists.union几个字眼.测试没有问题! 根据实际情况选择相应的语句是.假设指数,or全表扫描,in 和not in 应慎用.否则会导致全表扫描.  sele ...

  5. windows ngix 安装 配置 使用

    参考版本nginx-1.10.3 一.常用命令 start nginx.exe                      //开启服务 nginx.exe -s stop                ...

  6. 群晖搭建webssh

    拷贝工程到系统根,然后需要赋予权限 sudo chmod 777 -R WebSSH2/ git clone https://github.com/zhaocundang/WebSSH2.git de ...

  7. css如何实现一个元素高度固定宽度按比例显示?

    用padding-top百分比可以实现宽度固定高度按比例展示,现在的需求是对一个video视频的盒子div高度是固定的,宽度如何按比例展示? 解决后效果如图: 红框标注的即是我在上面高度比例固定的范围 ...

  8. Docker-堆栈stack(6)

    堆栈(Stack)的概念: 堆栈是一组相互关联的服务,它们共享依赖关系,并且可以协调和缩放在一起.单个堆栈能够定义和协调整个应用程序的功能,但是非常复杂的应用程序可能希望使用多个堆栈. 下面我们就开始 ...

  9. 【问题】Can't load AMD 64-bit .dll on a IA 32-bit platform

    文件下载地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/native/1.2.14/binaries/ 按自己的提示找到32位或者 ...

  10. Ubuntu 14.04 LTS 系统空间不足,输入密码后,无法进入桌面的解决办法

    问题场景:系统空间不足,在没有清理空间的情况下,重启机器,可能会出现,输入密码后,无法进入桌面的现象. 如何解决? 解决方法:以访客身份登录系统,可以看到你的ip地址,然后以ssh的方式登录你的主机, ...