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.hqwc.cn/news/84494.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4.14 HTTPS 中 TLS 和 TCP 能同时握手吗?

目录 实现HTTPS中TLS和TCP同时握手的前提: 什么是TCP Fast Open? TLS v1.3 TCP Fast Open TLSv1.3 HTTPS都是基于TCP传输协议实现的,得先建立完可靠得TCP连接才能做TLS握手的事情。 实现HTTPS中TLS和TCP同时握手的前提: 1、…

微服务中间件--http客户端Feign

http客户端Feign http客户端Feigna.Feign替代RestTemplateb.自定义Feign的配置c.Feign的性能优化d.Feign的最佳实践分析e.Feign实现最佳实践(方式二) http客户端Feign a.Feign替代RestTemplate 以前利用RestTemplate发起远程调用的代码: String url "http:…

Aidex 移动端快速开发框架# RuoYi-Uniapp项目,uniapp vue app项目跨域问题

参考地址: manifest.json官方配置文档:manifest.json 应用配置 | uni-app官网 Chrome 调试跨域问题解决方案之插件篇: uni-app H5跨域问题解决方案(CORS、Cross-Origin) - DCloud问答 其实uni-app官方有解决跨域的办…

思乐直播系统短视频直播系统源码 直播短视频平台系统APP源码多功能后台系统

思乐直播系统,集直播、短视频等功能,根据市场趋势开发并推出思乐直播APP,APP功能丰富且可在后台管理系统进行配置,做到按需求来开启功能。APP使用起来方便快捷,随时随地开启直播、分享短视频。 整个系统具备非常完善、…

LLMs 缩放指令模型Scaling instruct models FLAN(Fine-tuned LAnguage Net,微调语言网络)

本论文介绍了FLAN(Fine-tuned LAnguage Net,微调语言网络),一种指导微调方法,并展示了其应用结果。该研究证明,通过在1836个任务上微调540B PaLM模型,同时整合Chain-of-Thought Reasoning&#…

VR智慧校园资中控管理平台综合提升了课堂教学质量

随着越来越多高校在课堂中引进VR虚拟仿真实训系统,为了方便老师对全班同学进行高效率地管理,VR中控平台应运而生。下面为您详细介绍VR中控平台在课堂教学中的应用优势。 VR中控系统安装在教师总控端,融合了课件、视频、3D动画等丰富的教学资源…

视频汇聚平台EasyCVR安防视频监控平台新增经纬度选取功能的详细介绍

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、…

【dasctf】easy_log

base解码可得压缩包密码 二分法盲注 import urllib.parse,re with open(raccess.log,r) as f:logf.readlines() dict1{} count0 #判断逻辑,最后一个fasle则取自身;最后一个为true则加1; for each in log:resre.findall(rflag\),(\d),1\)\)…

mybatis与spring集成与spring aop集成pagehelper插件

Mybatis与Spring的集成 Mybatis是一款轻量级的ORM框架,而Spring是一个全栈式的框架,二者的结合可以让我们更加高效地进行数据持久化操作。 Mybatis与Spring的集成主要有两种方式:使用Spring的Mybatis支持和使用Mybatis的Spring支持。 使用…

6. 使用python将多个Excel文件合并到同一个excel-附代码解析

【目录】 文章目录 6. 使用python将多个Excel文件合并到同一个excel-附代码解析1. 目标任务2. 结果展示3. 代码示例4. 代码解析4.1 导入库4.2 调用库的类、函数、变量语法4.3 os.listdir-返回目录中的文件名列表4.4 startswith-用于判断一个字符串是否以指定的前缀开头4.5 ends…

4.Redis数据类型的编码方式

数据结构和内部编码 type 命令实际返回的就是当前键的数据结构类型,它们分别是:string(字符串)、list(列表)、hash(哈希)、set(集合)、zset(有序…

1.Flink源码编译

目录 1.环境版本 1.1 jdk 1.2.maven 1.3.node 1.4.scala 2.下载flink源码 3.编译源码 4.idea打开flink源码 5.运行wordcount 1.环境版本 软件地址 链接:https://pan.baidu.com/s/1ZxYydR8rBfpLCcIdaOzxVg 提取码:12xq 1.1 jdk 1.2 maven 1.…