首页 > 其他分享 >Jmeter从数据为查找结果集数据方法随笔

Jmeter从数据为查找结果集数据方法随笔

时间:2023-03-20 09:22:55浏览次数:32  
标签:随笔 匹配 vars get 正则表达式 数据库 mysql Jmeter 数据

一、Jmeter连接数据库
1. 下载对应数据库的驱动包到jmeter安装目录的lib下ext文件中,并导入到jmeter的测试计划中,本实例中使用的是mysql如下所示:
点击测试计划-->点击浏览-->选中mysql驱动jar包-->打开

 

 

 

 

 

2. 添加线程组,并在线程组下新建一个JDBC Connection Configuration配置元件,详细配置如下:

 

 


其中, Variable Name:testdb 定义变量名称,作用:说明哪个JDBC Request需要引用此配置,jdbc请求时需要用到此变量,变量值自定义保持一致即可;

Database Connection Configutration配置要访问的数据库信息

- Database URL:数据库连接的信息

- JDBC Driver class:com.mysql.jdbc.Driver 数据库的连接驱动名称

- Username:数据库的用户名

- Password:数据库的密码

此时可能会存在连接不上,我这边碰到如下情况,检查:

:连接本机的mysql时,本机 mysql版本:5.0后面通过更新连接mysql驱动包解决

 

 

3. 新建一个JDBC请求,测试连接数据库,详细步骤如下:

Variable Name:输入需要引用的JDBC配置(当前输入的数值与JDBCConnection Configuration相同的名称),两者的变量名称是需要一致的 ,就代表引用哪一个数据库连接Query Type:输入查询的类型(默认选择Select Statement,即只执行第一条select语句)

Restult Variable name:将所查询的结果放到此结果集中(result)

4. 添加BeanShell PostProcessor并从中取出结果集
取出结果集中的数据:

columnValue =vars.getObject(“resultObject”).get(0).get(“Column Name”);

- vars.getObject(“resultObject”):代表从哪个结果集中取数据

- get(0):取第几行

- get(“ColumnName”):取哪一列(哪一列即为JDBCRequest查询结果中的字段名)

备注:

1)columnValue= vars.getObject(“resultObject”).get(0).get(“Column Name”),返回的类型是Object类型。

2)需要将Object类型转换成String类型(取出对象的名称.toString())。

例如:columnValueResule.toString()),其中columnValueResule是取出的对象名称

3)取出来的变量放到jmeter中,用此方法:vars.put(“key”,Value)。

例如:vars.put(“xxxx”,DBclassname.toString());如果要引用此查询语句的结果,只需要引用key值就可以

二、Jmeter对Json格式数据的两种种处理方式
示例,若从如下json数据中取token的值:

 

 

1. 使用正则表达式提取请求响应中的值

1) 添加Jmeter正则表达式提取器

添加—>后置处理器—>正则表达式提取器

 

 

 

2)Jmeter正则表达式提取器控制面板

 

 

 

其中:

引用名称:定义变量名称,后续请求将要引用到的变量名,如填写的是:token,后面的引用方式是${ token}

正则表达式:提取内容的正则表达式,相当于lr中的关联函数

() 括起来的部分就是需要提取的,对于你要提的内容需要用小括号括起来

. 点号表示匹配任何字符串

+ 一次或多次

? 在找到第一个匹配项后停止

模板:用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的),则可以是$2$,$3$等,表示解析到的第几个值给login_name。例如:$1$表示匹配到的第一个值

匹配数字:0代表随机取值,-1代表所有值,此时提取结果是一个数组,其余正整数代表第几个匹配的内容提取出来。如果匹配数字选择的是-1,还可以通过${ login_name _1}的方式来取第1个匹配的内容,${ login_name _2}来取第2个匹配的内容。

缺省值:正则匹配失败时,取的值

2. 使用 JMeter 的插件JSONPath 来获取 JSON 数据中字段的数据
1)添加—>后置处理器-JSON Extractor

 

 

 

2)使用方法

Variable names : 变量名称

JSONPath Expression:JSON表达式
Match Numbers:匹配哪个,可为空即默认第一个
Default Value:未取到值的时候默认值

 注:在查看结果树中通过JSON Path Tester来调试json path

 

 

备注:jmeter中通过vars.get("token")来读取;

标签:随笔,匹配,vars,get,正则表达式,数据库,mysql,Jmeter,数据
From: https://www.cnblogs.com/kevinsheng/p/17230907.html

相关文章

  • 数据分析-商品零售购物篮关联规则模型
    查看数据特征importnumpyasnpimportpandasaspdinputfile='D:/人工智能&软件工程/数据挖掘与分析/data/GoodsOrder.csv'#输入的数据文件data=pd.read_......
  • Django笔记三之使用model对数据库进行增删改查
    本篇笔记目录索引如下:model准备增查删改1、model准备在上一篇笔记中,我们新建了一个application,增加了几个model同步到了数据库,这次我们新建一个名为blog的a......
  • 第四周——商品数据分析
    importpandasaspdinputfile1=r"D:\Weixin\WeChatFiles\wxid_cg9y4qd0yxhb22\FileStorage\File\2023-03\GoodsOrder.csv"inputfile2=r"D:\Weixin\WeChatFiles\w......
  • 数据类型之间的转换
    1#1.接收用户输入2num=input('请输入您的幸运数字:')34#2.打印结果5print(f"您的幸运数字是{num}")67#3.检测接收到的用户输入的数据类型--......
  • 数据库运维---数据库备份
    数据库备份,数据库为school,素材如下创建数据库并指定字符,后边用到中文mysql>createdatabaseschoolDEFAULTCHARACTERSETutf8COLLATEutf8_general_ci;1.创建stude......
  • 数据分析第八章
    商品零售购物篮分析#%%查看数据特征importnumpyasnpimportpandasaspdinputfile=r"D:\py_project\a_三下\GoodsOrder.csv"#输入的数据文件data=pd.r......
  • 断电引起的oracle数据库异常恢复----惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:断电引起的oracle数据库异常恢复作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的......
  • 第四周数据分析
    importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltinputfile='E:/桌面/data/GoodsOrder.csv'data=pd.read_csv(inputfile,encoding='gbk',engi......
  • Vue2入门之超详细教程四-数据绑定
    1、简介数据绑定分为单向数据绑定和双向数据绑定,上一章节中出现的v-bind就属于单向数据绑定。单向绑定(v-bind):数据只能从data流向页面双向绑定(v-model):数据不仅......
  • 【VTK学习笔记】VTK基本数据结构_3.2数据对象和数据集
    任务:把几何结构和拓扑结构加入到数据集中1.无拓扑结构1#include<vtkSmartPointer.h>2#include<vtkPoints.h>//几何结构3#include<vtkPolyData.h>//数据集......