0


Day14_Jmeter的数据库操作和提取数据

Day14_Jmeter的数据库操作和提取数据

文章目录

1. 连接数据库

1.1 添加依赖

  • 把mysql-connector-java-5.1.49.jar包放在jmeter安装目录apache-jmeter-5.4.3\lib\ext目录下,重启jmeter.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JOY311Io-1657935298735)(D:\typora\img\1657857091782.png)]

1.2 创建数据库连接池

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GEJmZ9XH-1657935298737)(D:\typora\img\7abc18d0-6fb1-446a-bbcc-a682aa07aef1-12945687.jpg)]

1.3 配置数据库连接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XdfWT6rV-1657935298739)(D:\typora\img\8e005802-ecb7-4a26-a544-67ca913b73cb-12945687.jpg)]

1.4 发起数据库请求

  • 线程组->添加->取样器->jdbc request

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RM92Gn8s-1657935298740)(D:\typora\img\9b6948b0-5f32-45ad-acd2-3038a4ebb60a-12945687.jpg)]

1.5 调试后置处理程序

  • 新建后置处理, 用于调试数据库连接的响应信息, 获取数据的变量名用于取值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QOM2w6X1-1657935298741)(D:\typora\img\1657865871055.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dI3r1Lze-1657935298742)(D:\typora\img\3469ca44-e43f-4088-b6f5-631c9895503a-12945687.jpg)]

1.6 遍历数据库

1.6.1 用ForEach控制器遍历数据库
  • 线程结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-96hC6HRA-1657935298743)(D:\typora\img\1657873985223.png)]

  • 新建ForEach控制器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dfihj5Mv-1657935298745)(D:\typora\img\1657866523874.png)]

  • 配置ForEach控制器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZSgbnzMa-1657935298747)(D:\typora\img\1657866910832.png)]

  • 在http请求中使用数据库参数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-arDm4vqc-1657935298748)(D:\typora\img\eb8211b1-d8b2-4548-83c8-531e38693425-12945687.jpg)]

  • 执行结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BvmUKBUT-1657935298750)(D:\typora\img\1657866222078.png)]

1.6.2 循环控制器和计数器遍历数据库
  • 线程结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s5w7yi6m-1657935298751)(D:\typora\img\1657874031511.png)]

  • 连接数据库查询多列数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eAOtwKsh-1657935298752)(D:\typora\img\cf485bc8-934a-4194-89f3-ed25de5f79c3-12945687.jpg)]

  • 新建循环控制器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UEZ5w00X-1657935298753)(D:\typora\img\1657868558383.png)]

  • 循环次数为最大id值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yhcikGEM-1657935298754)(D:\typora\img\1657868978228.png)]

  • 添加计数器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F44qDuvz-1657935298755)(D:\typora\img\1657868623020.png)]

  • 设置计数器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jGhgxKhN-1657935298756)(D:\typora\img\e0335a42-d1fe-4f24-90f3-8880dfee2710-12945687.jpg)]

  • 使用函数生成器对话框生成v函数 - v函数用于变量嵌套变量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zSh3gzLI-1657935298757)(D:\typora\img\e0f7ba2d-fc3d-43bc-a0da-f5c9d37e19da-12945687.jpg)]

  • 添加java请求

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WFo9Dohp-1657935298759)(D:\typora\img\76f5b0ed-31da-47b8-be3b-be6f0de1dfd0-12945687.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FWvf3YAw-1657935298760)(D:\typora\img\1657869960892.png)]

  • java请求响应结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z4jmNbrQ-1657935298762)(D:\typora\img\1657870056764.png)]

  • 最后发起http请求

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YQqecbZ8-1657935298763)(D:\typora\img\1657870168450.png)]

2. 同一个线程组内提取数据

2.1 json提取

  • 例: 查询所有用户 --(数据的提取)-> 查询投资记录
  • 获取所要提取数据的json路径

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UwxHaEp7-1657935298764)(D:\typora\img\1657870604077.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tGktpPx5-1657935298767)(D:\typora\img\5a2a50e5-c010-4fd0-82df-bc76118785a6-12945687.jpg)]

  • 在请求中, 新建后置处理器->json提取器
  • 设置json提取器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Xm9CKhk-1657935298769)(D:\typora\img\9042b07b-18e2-4a3d-bc8e-093699d19818-12945687.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jUt8odeP-1657935298773)(D:\typora\img\1657882322195.png)]

  • 两个请求

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LbOp1ATk-1657935298774)(D:\typora\img\28dd4901-7dc3-4345-ae86-6ebc85e07bf2-12945687.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EBdzAxrn-1657935298775)(D:\typora\img\a9172812-dc6e-4636-b4c3-5a9dfe58eb15-12945687.jpg)]

2.2 正则提取

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hZ4rnWQa-1657935298777)(D:\typora\img\1657871697238.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9zK1tLkx-1657935298779)(D:\typora\img\1657872144156.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uN1wn1DY-1657935298780)(D:\typora\img\1657872709809.png)]

2.3 提取数据(列表)

  • 将正则提取器的匹配数字改为-1(获取所有数据)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MeJy3Cpm-1657935298781)(D:\typora\img\af9683b3-8fe3-41d2-888b-37aa66701246-12945687-1657873136653.jpg)]

  • 新建调试后置处理程序, 用于查看数据的参数名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Hq2IDAW-1657935298782)(D:\typora\img\05620b63-f2d4-48e2-b40f-961af5754e23-12945687.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-exDGfbYD-1657935298784)(D:\typora\img\d4da058f-2d71-4310-9a52-b499a589c3ff-12945687.jpg)]

  • 新建foreach控制器循环操作每一个提取出来的数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5XQtq3N7-1657935298785)(D:\typora\img\846ef216-e8c0-44a1-b4d5-78b6c54c561c-12945687.jpg)]

  • 发起请求

![]](https://img-blog.csdnimg.cn/242391ee42914149a244426db30e5593.png)

3. 不同线程组提取数据

3.1 给第一个线程组添加BeanShell后置处理器

  • 第一个线程组:查询所有用户,提取第一个用户的电话

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ck8gAU7P-1658139912074)(D:\typora\img\61f7a798-8727-45f8-b352-96d09ddf0fe7-12945687.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-48KGhAax-1658139912085)(D:\typora\img\b7f4336c-2fc2-4dee-8045-13bf3553e958-12945687.jpg)]

  • 第二个线程组:充值, 此时的phone变量为局部变量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k3PbNswR-1658139912086)(D:\typora\img\39599d04-96a2-4886-94ca-2717aced1552-12945687.jpg)]

  • 保证线程的执行顺序(先第一个再第二个)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-brEmeX7e-1658139912088)(D:\typora\img\db5be3c5-b04d-4e6a-978d-8b53201e851b-12945687.jpg)]

  • 响应结果是第二个线程组并不能获取第一个线程组提取的数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R6Gvj1QV-1658139912089)(D:\typora\img\1658107313569.png)]

  • 这是因为: json提取器或者正则表达式提取器的变量值是局部变量,只能在当前线程组使用,如果想跨线程组使用,需要把局部变量转为全局变量。
  • 步骤:
  1. 给第一个线程组的请求添加BeanShell后置处理器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ShkwH3HI-1658139912091)(D:\typora\img\1658107366383.png)]

  • 设置BeanShell, 将局部变量设置为全局变量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JKcUROxH-1658139912092)(D:\typora\img\1658108959749.png)]

  • 但是第二个线程组依然获取不到BeanShell中的全局变量, 因为线程组默认使用局部变量, 因此需要用到P函数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m6oxZb72-1658139912093)(D:\typora\img\1658107745256.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zNHlwR33-1658139912094)(D:\typora\img\1658107917296.png)]

  • 查看结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PZdXPGms-1658139912095)(D:\typora\img\1658108867500.png)]

3.2 给第二个线程组添加BeanShell前置处理器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cZXSL21B-1658139912096)(D:\typora\img\fc3c742c-2465-45bd-9705-a32af5b41c01-12945687.jpg)]

  • 第一个线程组不变, 给第二个线程组添加BeanShell前置处理器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eBxU7qCM-1658139912097)(D:\typora\img\5ecd7eac-094b-473a-9dcc-64ce50dc8ebf-12945687-1658109590935.jpg)]

  • 设置BeanShell前置处理器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-70Ak5VnA-1658139912099)(D:\typora\img\1658109028875.png)]

  • 第二个线程组的变量为BeanShell前置处理器设置的局部变量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IAyhhpWC-1658139912099)(D:\typora\img\1658109064559.png)]

  • 查看结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i42zO1BG-1658139912101)(D:\typora\img\1658109081826.png)]

标签: 测试工具

本文转载自: https://blog.csdn.net/qq_44307086/article/details/125864844
版权归原作者 (・●・) 所有, 如有侵权,请联系我们删除。

“Day14_Jmeter的数据库操作和提取数据”的评论:

还没有评论