jemter连接数据json断言

文章目录

  • 一、jmeter连接数据库
    • 1、加载JDBC驱动
    • 2、连接数据
    • 3、SQL Query的Query Type使用方法:
    • 4、Variable Name使用方法:
    • 5、Result variable name使用方法:
  • 二、Json响应断言
    • 1、添加 》 断言 》 JSON断言
    • 2、JSON断言界面参数说明:

一、jmeter连接数据库

以 apache-jmeter-5.0 版本为例。

1、加载JDBC驱动

以Mysql数据库为例,数据库测试需要加载JDBC驱动
(1)先下载mysql-connector-java-5.1.26.jar
(2)打开JMeter,直接拷贝驱动jar包放到到jmeter安装目录的lib目录下或在jmeter中的测试计划中导入,导入JDBC驱动
在这里插入图片描述

在这里插入图片描述

2、连接数据

(1)在线程组右键—添加—配置元件–“JDBC Connection Configuration”,添加配置JDBC Connection Configuration

在这里插入图片描述

(2)配置JDBC Connection Configuration,配置JDBC Connection Configuration,具体配置项如下

在这里插入图片描述

1、名称:默认为空,填写你所想设置的名称,可为空
2、注释:默认为空,可为空
3、Variable Name:变量名称,需要唯一标识,与JDBC取样器中的相对应,简单理解就是jdbc request的时候确定去哪个绑定的配置。
4、Max Number of Connections 数据库最大连接数,默认10,建议设置为500  
5、Pool Timeout  数据库连接超时,单位ms,默认10000    默认即可
6、Idle Clearup Interval 空闲连接清理时间间隔  默认即可
7、Auto Commit   自动提交,有三个选项:true、false、编辑(jmeter提供的函数设置)。默认为true 默认即可
8、Transaction Isolation 有TRANSACTION_NODE  事务节点 、TRANSACTION_READ_UNCOMMITTED事务未提交读、TRANSACTION_READ_COMMITTED事务已提交读 、TRANSACTION_SERIALIZABLE事务序列化 、DEFAULT默认、TRANSACTION_REPEATABLE_READ事务重复读、编辑等选项,默认为default    默认即可
9、Keep-Alive    是否保持连接,默认为true  默认即可
10、Max Connection age (ms)  最大连接时长,超过时长的会被拒绝,默认为5000    
11、 Validation Query    验证sql语法,默认为select1  
12、Database URL 数据库url,可以带上字符集,比如jdbc:mysql://10.199.132.12:3306/xqy-portal?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true   
13、JDBC Driver class    JDBC的类,默认为空,必填,mysql一般输入com.mysql.jdbc.Driver   
14、Username 数据库的用户名 
15、Password 数据库的密码  

(3)添加JDBC Request,线程组右键—添加—Sampler—JDBC Request,添加JDBC Request

在这里插入图片描述

(4)JDBC Request配置
在这里插入图片描述

具体JDBC Request配置项说明如下:

1、Variable Name 和上面JDBC Connection Configuration中的Variable Name保持一致 
2、Query type    主要包括:Select 、Update、Callable Statement、Commit、Rollback选项,详见下文使用方法   
3、Parameter values  默认为空,填写sql中要添加的数据,也可以参数化    
4、Parameter types : 默认为空,赋值参数的数据类型,需与Parameter values对应起来,并以逗号隔开    
5、Variable Name :   默认为空,自定义值,供其他接口调用返回值,详见下文使用方法   
6、Result variable name :    把sql执行结果保存到一个数组中    
7、Query timeout(s) :    定义查询超时时间,单位s,默认为空

3、SQL Query的Query Type使用方法:

1、多个查询语句(不使用参数的情况下)可以放在一起顺序执行,需要设置Query Type为:Callable Statement,然后顺序输入select语句,不用加go或者分号。如果Query Type设置为:Select Statement的话,只执行第一个SQL语句;

2、如果SQL语句中需要使用参数变量,那么Query Type 需要设置为:Select Statement ,需要先添加Random Variable,然后在Parameter Values中输入{变量名称},中间用逗号分隔。只能执行第一个SQL语句;

3、对于Insert、Update、Delete语句,需要设置Query Type为:Update Statament.数据修改语句中可以使用参数,而且可以顺序执行多个修改语句;

4、Commit是将SQL Query执行后马上提交,使用这个选项时JDBC Connection Configuration中的Auto Commit选项为False。

4、Variable Name使用方法:

jmeter官网给的解释是:如果给这个参数设置了值,它会保存sql语句返回的数据和返回数据的总行数。假如,sql语句返回2行,3列,且variables names设置为A,B,C,那么如下变量会被设置为:
  A_#=2 (总行数)
  A_1=第1列, 第1行
  A_2=第1列, 第2行
  C_#=2 (总行数)
  C_1=第3列, 第1行
  C_2=第3列, 第2行
如果返回结果为0,那么A_#和C_#会被设置为0,其它变量不会设置值。
如果第一次返回6行数据,第二次只返回3行数据,那么第一次那多的3行数据变量会被清除。
可以使用{A_1}…来获取相应的值

5、Result variable name使用方法:

如果给这个参数设置值,它会创建一个对象变量,保存所有返回的结果,获取具体值的方法:

columnValue = vars.getObject("resultObject").get(0).get("Column Name")

二、Json响应断言

该组件使您可以执行JSON文档的验证。
首先,它将解析JSON,如果数据不是JSON则失败。
其次,它将使用https://github.com/json-path/JsonPath中的语法搜索指定的路径。如果找不到该路径,它将失败。
第三,如果在文档中找到JSON路径,并要求针对期望值进行验证,它将执行验证。对于null值,在GUI中有一个特殊的复选框。请注意,如果路径将返回数组对象,则将对其进行迭代,并且如果找到期望值,则断言将成功。要验证空数组,请使用[]字符串。另外,如果patch将返回字典对象,则在比较之前将其转换为字符串。

1、添加 》 断言 》 JSON断言

在这里插入图片描述

2、JSON断言界面参数说明:

(1)名称:节点的名称,显示在查看结果树中,自己根据实际情况定义。
(2)注释:对该节点进行注释。
(3)断言存在JSON路径:断言JSON元素的路径。
(4)附加断言值:如果要使断言具有某个值,把这个值勾选上。如果写了(3)JSON元素的路径,要把这个值勾选上。
(5)匹配为正则表达式:如果要使用正则表示式,选中该复选框。
(6)预期值:JSON元素路径对应的值。
(7)反转断言:就是否的意思,即如果符合就失败。

在这里插入图片描述
在这里插入图片描述

可以直接在查看结果树中进行JSON语法的测试。测试ok了再直接放在JSON断言中。

$ 表示跟节点。
[] 表示数组,0表示第一个;$[0] 表示跟节点后的第一个对象。
resultcode 即key,这里要获取resultcode的值,所以填写resultcode。
在这里插入图片描述
在这里插入图片描述

当接口的返回数据比较多的时候,可以去https://www.json.cn/进行解析:
在这里插入图片描述

举例:
取第一个id的值,$.data[0].id

在这里插入图片描述
三、登录获取cooike
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/90628.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RH1288V3 - 初识物理服务器

如果你拥有一台物理服务器(不是云服务器) 个人比较推荐你用物理服务器,虽然性能会比云要来的差,但是不用每月交钱上。云服务固然方便,但是几个核的性能和一点存储,想做一个动漫网站固然要很多mp4这种影视资源,云服务器…

React+Typescript 父子组件事件传值

好 之前我们将 state 状态管理简单过了一下 那么 本文 我们来研究一下事假处理 点击事件上文中我们已经用过了 这里 我们就不去讲了 主要来说说 父子之间的事件 我们直接来编写一个小dom 我们父组件 编写代码如下 import Hello from "./components/hello";functio…

mysql profiling profiles profile

要想优化一条 Query,我们就需要清楚的知道这条 Query 的性能瓶颈到底在哪里,是消耗的 CPU计算太多,还是需要的的 IO 操作太多?要想能够清楚的了解这些信息,在 MySQL 5.0 和 MySQL 5.1正式版中已经可以非常容易做到了&a…

k8s之Pod及Probe 探针机制(健康检查机制)

文章目录 1、Pod1.1、定义1.2、Pod的形式1.3、Pod的使用1.4、 Pod生命周期1.5、初始化容器1.6、临时容器1.6.1、定义1.6.2、使用临时容器的步骤 1.7、静态Pod1.8、创建带标签的pod1.9、容器生命周期回调1.10、容器镜像使用秘钥从私有仓库下载1.11、多容器协同工作 2、Probe 探针…

第二讲Java基本语法(变量、数据类型、运算符)

一、前言导读 上一讲,我们安装java的开发工具idea,并且简单介绍如何使用,初步认识了Java的helloworld,我们写了第一行代码,有了初步的印象,接下来我们将真正展开对于java的了解,从这一讲开始,请大家做好笔记,改背的背。为什么说Java是一门编程语言呢,主要是他跟英语一…

基于单片机串口控制直流电机调速

一、系统方案 (2)本设计采用STC89C5单片机作为主控器,串口控制直流电机调速,串口助手发送1-8,改变电机速度,数码管显示对应速度。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 TMOD0x21;//定…

❤ 给自己的mac系统上安装java环境

❤ 给自己的mac系统上安装java环境 🍓 作为前端工程师如何给自己的mac系统上安装java环境 🍎 最近因为自己的一些项目需求,mac电脑上需要安装一些后台的java环境,用来跑后台的java程序,于是从一个前端工程师的角度安…

淘宝API技术解析,实现关键词搜索淘宝商品(商品详情接口等)

淘宝提供了开放平台接口(API)来实现按图搜索淘宝商品的功能。您可以通过以下步骤来实现: 获取开放平台的访问权限:首先,您需要在淘宝开放平台创建一个应用,获取访问淘宝API的权限。具体的申请步骤和要求可以…

简单js逆向案例(2)

文章目录 前文分析完整代码结尾 前文 本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 分析 目标网址 aHR0cHM6Ly9zZWFyY2guYmlkY2VudGV…

SLAM十四讲学习笔记 第二期:部分课后实践代码

持续更新.... 前期准备第二讲实验一:简单输出 第五讲任务一:imageBasics(Ubuntu配置opencv)任务二:双目匹配点云(Ubuntu配置pangolin)检验部分我认为可以加深对CMake的理解 任务三:r…

10*1000【2】

知识: -----------金融科技背后的技术---------------- -------------三个数字化趋势 1.数据爆炸:internet of everything(iot);实时贡献数据;公有云服务->提供了灵活的计算和存储。 2.由计算能力驱动的&#x…

Android Xfermode 使用解析

自定义绘制之图片 canvar.drawBitmap() ,BitMapFactory private fun getBitmap(width: Int): Bitmap? {val option BitmapFactory.Options()option.inJustDecodeBounds trueBitmapFactory.decodeResource(resources, R.mipmap.android111,option)option.inJustDecodeBounds…

Oracle数据库快速入门

前言: 我想现在很多人的入门数据库都是mysql,但是由于工作中会接触到Oracle数据库,如果你有MySQL的基础的话,这篇文章能让你很快掌握Oracle。 目录 1.体系结构 2.创建用户和表空间 2.1.创建表空间 2.2.创建用户 3.数据类型…

Jvm之JIT优化详细解释

文章目录 一、JIT 产生的背景二、HotSpot虚拟机内置JIT编译器1. Client Compiler2. Server Compiler3. 查看本地编译器模式 三、常见热点探测技术1. 基于计数器的热点探测2. 基于采样的热点探测2.1 方法调用计数器2.2 回边计数器 四、常见JIT优化手段1. 公共子表达式消除2. 方法…

NGINX的速率限制(限流)

NGINX 的速率限制(限流) NGINX最有用但经常被误解和配置错误的功能之一是限流。它允许您限制用户在给定时间段内可以发出的HTTP请求量。 限流可以用于安全目的,例如减慢暴力破解密码的攻击。它可以通过限制请求速率为真实用户的典型值来帮助…

OpenAI推出GPT-3.5Turbo微调功能并更新API;Midjourney更新局部绘制功能

🦉 AI新闻 🚀 OpenAI推出GPT-3.5Turbo微调功能并更新API,将提供GPT-4微调功能 摘要:OpenAI宣布推出GPT-3.5Turbo微调功能,并更新API,使企业和开发者能够定制ChatGPT,达到或超过GPT-4的能力。通…

c语言每日一练(11)

前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…

C#-集合小例子

目录 背景: 过程: 1.添加1-100数: 2.求和: 3.平均值: 4.代码:​ 总结: 背景: 往集合里面添加100个数,首先得有ArrayList导入命名空间,这个例子分为3步,1.添加1-100个数2.进行1-100之间的总和3.求总和的平均值&…

安全帽穿戴检测人脸闸机联动

安全帽穿戴检测人脸闸机联动系统实通过yolov8网络深度学习算法模型,安全帽穿戴检测人脸闸机联动系统现对进入工地施工区域人员是否穿戴安全帽进行精准监测和身份识别,只有在满足这两个条件的情况下,闸机才会打开,允许其进入工地施…

ICT产教融合创新实训基地物联网实训室建设方案

一、概述 1.1物联网定义 物联网工程(Internet of Things Engineering)是一种以信息技术(IT)来改善实体世界中人们生活方式的新兴学科,它利用互联网技术为我们的日常生活活动提供服务和增益,从而让各种智能…