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. Mac 上安装maven

    http://maven.apache.org/download.cgi 官网下载bin.tar 解压后放入某个目录: 配置环境变量: vim .bash_profile M2_HOME=/maven ...

  2. 如何知道局域网内哪些ip被占用

    诶,有时候真是略捉急,开始的时候估摸了一个网段,试了3个都没有通,觉得这个一个个试验的方法简直捉急到家了.下面就为大家分享3种简单地如何查看ip地址是否被占用的方法. 1.ping windows键+ ...

  3. [转]java List和数组相互转换方法

    原文地址:https://blog.csdn.net/zjx2016/article/details/78273192 前言在java项目中数组和list集合(这里指ArrayList)经常需要互相转 ...

  4. session_id()和session_regenerate_id()对原来session文件和其中数据是怎么处理的

    一.session_id()对原来session文件和里面的数据,是怎么处理的? 测验办法:<?php $sid = md5("aaad");session_id($sid) ...

  5. SQLServer截取字符串常用函数

    SQL Server中一共提供了三个字符串截取函数:LEFT().RIGHT().SUBSTRING(). 一.LEFT()函数 函数说明如下: 语法:LEFT(character,integer). ...

  6. 大话前端解析Json对象

    一.对于标准的json对象如: var result=[{"flag":1,"macId":"2","mbId":0,& ...

  7. 在Linux添加定时任务删除5天前的日志文件

    利用shell脚本自动清理,脚本如下 1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: fin ...

  8. Android全面屏适配

    什么是全面屏 概念 很多人可能把全面屏跟曲面屏混淆,其实这是两个不同的概念. 一般手机的屏幕纵横比为16:9,如1080x1920.1440x2560等,其比值为1.777777……,全面屏手机出现之 ...

  9. GLSL版本的区别和对比

    之前尝试将一个GLSL version 110的版本写成GLSL version 330的,在此将学习过程和收获记录下来. 参考链接 GLSL Versions 介绍 你可以使用#version命令作 ...

  10. 使用Go语言操作MySQL数据库的思路与步骤

    最近在做注册登录服务时,学习用Go语言操作MySQL数据库实现用户数据的增删改查,现将个人学习心得总结如下,另外附有代码仓库地址,欢迎各位有兴趣的fork. 软件环境:Goland.Navicat f ...