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 2 2, 3 3 3等,表示解析到的第几个值给login_name。例如: 1 1 1表示匹配到的第一个值

匹配数字:0代表随机取值,-1代表所有值,此时提取结果是一个数组,其余正整数代表第几个匹配的内容提取出来。如果匹配数字选择的是-1,还可以通过 l o g i n n a m e 1 的方式来取第 1 个匹配的内容, { login_name _1}的方式来取第1个匹配的内容, login
n​    
 ame
​    
 的方式来取第1个匹配的内容,{ login_name _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”)来读取;

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

相关推荐

  1. 数据结构-二分查找

    2024-04-12 18:24:03       22 阅读
  2. 数据结构】分块查找

    2024-04-12 18:24:03       19 阅读
  3. 数据结构-查找

    2024-04-12 18:24:03       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-12 18:24:03       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-12 18:24:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-12 18:24:03       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-12 18:24:03       20 阅读

热门阅读

  1. vue中watch监听路由传来的参数变化问题

    2024-04-12 18:24:03       13 阅读
  2. Windows下如何确定虚函数在虚函数表中的位置

    2024-04-12 18:24:03       16 阅读
  3. MYSQL执行流程

    2024-04-12 18:24:03       18 阅读
  4. Fiddler:网络调试利器

    2024-04-12 18:24:03       14 阅读
  5. 从零学算法274

    2024-04-12 18:24:03       15 阅读
  6. 【python处理数据的函数】---误区2

    2024-04-12 18:24:03       17 阅读
  7. LeetCode 每日一题 ---- 【2923. 找到冠军 I】

    2024-04-12 18:24:03       19 阅读
  8. linux总结

    2024-04-12 18:24:03       19 阅读
  9. 在linux上如何执行带有目录的命令

    2024-04-12 18:24:03       22 阅读
  10. steam流太难用了看看JDFrame

    2024-04-12 18:24:03       31 阅读
  11. mysql知识点

    2024-04-12 18:24:03       21 阅读
  12. 2024MarthorCUP妈妈杯——思路附代码B题

    2024-04-12 18:24:03       17 阅读