当前位置: 首页 > news >正文

Jmeter连接数据库、逻辑控制器、定时器

  • Jmeter直连数据库
    直接数据库的使用场景
    在这里插入图片描述

直连数据库的关键配置

  • 添加MYSQL驱动Jar包

方式一:在测试计划面板点击“浏览”按钮,将你的JDBC驱动添加进来
在这里插入图片描述

方式二:将MySQL驱动jar包放入到lib/ext目录下,重启JMeter
在这里插入图片描述

配置数据库连接信息

  • 添加方式-测试计划->线程组->(右键添加)配置元件JDBC Connection Configuration

在这里插入图片描述

  • Variable Name:mysql数据库连接池名称(JDBC请求时要引用)

  • Database URL:jdbc:mysql://localhost:3306/tpshop2.0

​ - 组成:协议+数据库IP+数据库端口+连接的数据库名称

​ - JDBC DRIVER class:com.mysql.jdbc.Driver(MySQL驱动包 位置固定格式---- 下拉框)

​ - Username:root(连接数据库用户名,如实填写)

​ - Password:(MySQL数据库密码,如实填写,如果密码为空不写)

== 添加JDBC请求==

  • 添加方式:测试计划—线程组—取样器—JDBC Request
    在这里插入图片描述
    Variable Name :数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound pool名字保持一致

练习1:

1、连接tpshop商城数据库获取商品名包含:小米手机5的商品id

准备工作:

1.启动tpshop数据库服务器

2.添加MySQL驱动jar包
操作步骤:

  • 添加线程组
  • 添加 JDBC Connection Configuration
    在这里插入图片描述
  • 添加 JDBC Request
    在这里插入图片描述
  • 添加查看结果树

练习2:

1、在tpshop首页中搜索商品名称包含"小米手机5",

请求url:http://192.168.234.129/Home/Goods/search.html

请求方法:GET

请求参数:q=“小米手机5”

2、 在搜索的响应数据中检查是否有该商品对应的商品链接:/Home/Goods/goodsInfo/id/237.html

(id:237需要通过数据库查询返回,才保证每次都是有效的)
编写JDBC脚本步骤(搜索指定商品,在返回结果中检查是否包含指定商品的ID的详情 URL):

  • 1.添加线程组
  • 2.添加 JDBC Connection Configuration
    在这里插入图片描述
  • 3.添加 JDBC request
    在这里插入图片描述
  • 4.添加 HTTP请求 - 搜索商品
    在这里插入图片描述
  • 5、断言响应数据是否包含指定商品的ID详情url(预期结果的商品id从数据库获取)
    在这里插入图片描述
    在这里插入图片描述
  • 查看结果树
  • Jmeter逻辑控制器

  • 如果(If)控制器

作用:If控制器用来控制它下面的测试元素是否执行

位置:测试计划–>线程组—>(右键添加)逻辑控制器—>如果(If)控制器
参数介绍:
在这里插入图片描述

练习:

1.使用“用户定义的变量”定义一个变量name,name的值可以是“baidu"或”itcast"

2.根据name的变量值实现对应网站的访问。

操作步骤:

1.添加线程组

2.用户定义的变量
在这里插入图片描述

3.添加If控制器,判断name是否等于baidu
在这里插入图片描述

4.添加HTTP请求,用来访问百度
在这里插入图片描述

5.添加If控制器,判断name是否等于itcast
在这里插入图片描述
在这里插入图片描述

6.添加HTTP请求,用来访问传智播客
在这里插入图片描述

7.添加查看结果树
在这里插入图片描述

小结

(1) IF控制器的作用是什么?

  • 控制它下面的测试元素是否执行

(2)使用“iF控制器” 的操作步骤?

  • 1.添加线程组
  • 2.用户定义变量
  • 3.添加if控制器,判断name是否等于“baidu”
    • 不勾选Interpret Condition,“${name}”==“baidu”
    • 勾选,${__jexl3("${name}"=="itcast",)}
  • 4.添加HTTP请求,访问百度
  • 5.添加if控制器,判断name是否等于“itcast”
  • 6.添加HTTP请求,访问itcast
  • 7.查看结果树
  • 循环控制器

作用:通过设置循环次数,来实现循环发送请求

位置:测试计划–>线程组–(右键添加)逻辑控制器—>循环控制器

参数介绍:
在这里插入图片描述

案例:1.循环访问百度10次

操作步骤:

1.添加线程组

2.添加循环控制器----设置循环次数
在这里插入图片描述

3.添加HTTP请求
在这里插入图片描述

4.添加查看结果树
在这里插入图片描述

小结

思考:线程组属性可以控制循环次数,那么循环器有什么用?

控制的作用域不同:线程组控制是线程组下的所有请求,循环控制器控制逻辑控制器下的所有请求

如果线程组循环次数为M,循环控制器循环次数为N:

  • 循环控制器下的HTTP请求运行:M*N次
  • 线程组下的其他HTTP请求运行:M次
  • ForEach控制器

作用:一般和用户自定义变量或者正则表达式提取器一起使用,读取返回结果中一系列相关的变量值。

该控制器下的取样器都会被执行一次或多次,每次读取不同的变量值。

位置:测试计划—>线程组—>(右键添加)逻辑控制器—>ForEach控制器
在这里插入图片描述

练习:

1.有一组关键字[hello,python,测试],使用用户定义的变量存储

2.要依次取出关键字,并在百度搜索,例如:https://www.baidu.com/s?wd=hel

步骤:

  • 1.添加线程组

  • 2.添加用户自定义的变量
    在这里插入图片描述

  • 3.添加ForEach控制器
    在这里插入图片描述

  • 4.添加HTTP请求
    在这里插入图片描述

  • 查看结果树
    在这里插入图片描述

小结

(1)forEach控制器的作用是什么?

  • 作用:一般和用户自定义变量或者正则表达式提取器一起使用,读取返回结果中一系列相关的变量值。

(2)使用“ForEach控制器”的操作步骤?

  • 1.添加线程组
  • 2.添加用户定义变量/正则表达式提取器
    • 返回一组变量:相同的变量名+连续的数字后缀,如name_1,……,name_3
  • 3.添加forEach控制器
    • 输入变量前缀:要读取的输入变量的固定前缀,如:name
    • 开始循环字段:要读取的输入变量后缀数字的最小值-1,如0
    • 结束循环字段:要读取的输入变量后缀数字的最大值,如3
    • 输出变量名称:要读取的输入变量后保存的新变量名,如word
  • 4.添加HTTP请求-百度
    • 引用forEach控制器中保存的新变量名, 如${word}
  • 5.查看结果树

正则表达式配合使用(案例2):

  1. 访问黑马首页http://www.heima.cn,获取首页中的地址信息,并全部保存下来
  2. 要依次取出地址关键字,并在百度搜索,例如:https://www.baidu.com/s?wd=地址

操作步骤:

  • 1.添加线程组

  • 2.添加HTTP请求1-heima
    在这里插入图片描述

  • 3.在HTTP请求1下面,添加正则表达式提取器,提取出所有的地址信息
    在这里插入图片描述
  • 4.添加ForEach控制器
    在这里插入图片描述
  • 5.添加HTTP请求2-百度
    在这里插入图片描述
  • 6.添加查看结果树

相关文章:

Jmeter连接数据库、逻辑控制器、定时器

Jmeter直连数据库 直接数据库的使用场景 直连数据库的关键配置 添加MYSQL驱动Jar包 方式一:在测试计划面板点击“浏览”按钮,将你的JDBC驱动添加进来 方式二:将MySQL驱动jar包放入到lib/ext目录下,重启JMeter 配置数据库连接信…...

『Linux笔记』进程间通信(IPC)详细介绍!

进程间通信(IPC)详细介绍! 文章目录 一. 进程间通信(IPC)详细介绍1. 共享内存(Shared Memory)2. 消息队列(Message Queues)3. 信号量(Semaphores&#xff09…...

Jmeter进阶篇(34)如何解决jmeter.save.saveservice.timestamp_format=ms报错?

问题描述 今天使用Jmeter完成压测执行,然后使用命令将jtl文件转换成html报告时,遇到了报错! 大致就是说jmeter里定义了一个jmeter.save.saveservice.timestamp_format=ms的时间格式,但是jtl文件中的时间格式不是标准的这个ms格式,导致无法正常解析。对于这个问题,有如下…...

Visual Studio 2022配置网址参考

代码格式化和清理冗余代码选项的配置: 代码样式选项和代码清理 - Visual Studio (Windows) | Microsoft Learn 调试时传递参数: 调试时传递命令行参数(C) - Visual Studio (Windows) | Microsoft Learn...

Redis中集合(Set)常见命令详解

集合(Set)常见命令详解 集合(Set)在Redis中是一种无序且不可重复的数据结构,非常适合用于存储唯一元素的集合。以下是Redis集合操作的一些常用命令及其详细说明: 添加成员 sadd key member [member ...]…...

动态规划

简介 动态规划最核心两步: 状态表示:dp[i]代表什么状态转移方程:如何利用已有的dp求解dp[i] 只要这两步搞对了, 就完成了动态规划的%95 剩下的就是细节问题: dp初始化顺序(有时是倒序)处理边…...

stm32rtc实时时钟详解文章

目录 stm32 后备区域基础知识详解 stm32 bkp基础知识详解 Unix时间戳基础知识详解 stm32 rtc实时时钟基础知识详解 相关代码初始化配置 欢迎指正,希望对你,有所帮助!!! stm32 后备区域基础知识详解 stm32芯片的 …...

DeepSeek 助力 Vue 开发:打造丝滑的 键盘快捷键(Keyboard Shortcuts)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...

【第一节】C++设计模式(创建型模式)-工厂模式

目录 前言 一、面向对象的两类对象创建问题 二、解决问题 三、工厂模式代码示例 四、工厂模式的核心功能 五、工厂模式的应用场景 六、工厂模式的实现与结构 七、工厂模式的优缺点 八、工厂模式的扩展与优化 九、总结 前言 在面向对象系统设计中,开发者常…...

深入理解 SQL 注入漏洞及解决方案

一、引言 在当今数字化时代,数据库作为存储和管理数据的核心组件,其安全性至关重要。SQL 注入是一种常见且极具威胁性的数据库安全漏洞,它可能导致数据泄露、篡改甚至系统被完全控制。本文将深入探讨 SQL 注入漏洞的产生原因、表现形式以及如…...

使用 deepseek实现 go语言,读取文本文件的功能,要求支持 ascii,utf-8 等多种格式自适应

使用 deepseek实现 go语言,读取文本文件的功能,要求支持 ascii,utf-8 等多种格式自适应我要用 chatgpt,也问过,但是比 deepseek 还是差一个级别,具体如下: package mainimport ("bufio&qu…...

7.【线性代数】——求解Ax=0,主列和自由列

七 求解Ax0,主列和自由列 1. 消元、秩、特解特解零空间 2. 简化行阶梯形式 :主元上下都是0,主元简化为1 1. 消元、秩、特解 矩阵消元 [ 1 2 2 2 2 4 6 8 3 6 8 10 ] ⏟ A ⇒ r o w 2 − 2 r o w 1 , r o w 3 − 3 r o w 1 [ 1 2 2 2 0 0 2 4 0 0 2 4 ]…...

vue3结合后端传递过来的文件进行预览功能

业务的需要,前端需要根据后端传递过来的文件流进行预览的功能,前端点击链接直接触发浏览器的窗口的预览功能。 实现方式一: 使用弹窗和iframe的标签的形式进行预览文件,但是iframe可能会出现网站安全性的问题,限制比较…...

【Python爬虫(39)】掌控全局:分布式爬虫的任务管理与监控之道

【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取&#xff…...

Jenkins整合Jmeter实现接口自动化测试

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、安装jmeter 下载:http://jmeter.apache.org/download_jmeter.cgi 这里我用了一台Windows安装jmeter用来写接口测试的脚本,启动前修改j…...

Web 自动化测试提速利器:Aqua 的 Web Inspector (检查器)使用详解

Web 自动化测试提速利器:Aqua 的 Web Inspector (检查器)使用详解 前言简介一、安装二、Web Inspector 的使用2.1 获取元素定位器(Locators)2.2 将定位器添加到代码2.3 验证定位器2.4 处理 Frames (框架)总结前言 JetBrains 的 Aqua IDE 提供强大的 Web Inspector 工具,帮…...

大语言模型:从开发到运行的深度解构

一、LLM开发训练的全流程解析 1. 数据工程的炼金术 数据采集:构建涵盖网页文本(Common Crawl)、书籍、论文、代码等领域的超大规模语料库,典型规模可达数十TB。例如GPT-4的训练数据包含超过13万亿token数据清洗:通过…...

【GoLang】【算法模板】2、GoLang 算法模板整理

文章目录 0、前言1、GoLang 算法必会技巧1.1、标准库1.1.1、sort 包1.1.2、slice 包 1.2、数据结构1.2.1、优先队列 2、板子2.1、二分2.1.1、lower_bound、upper_bound 2.2、字符串2.2.1、kmp 0、前言 整理一下 golang 的算法板子,作为备忘录使用。可能有些板子、博…...

合理建模--最短路径

这道题目难就难在如何想到用最短路径来做 主要是这个题目不能用bfs来写,因为距离并不是1 狄克斯特拉算法很久没写了,有些地方生疏了 且这个题目需要记录三个信息,得用tuple 题目地址 int dx[] {0,0,1,-1};int dy[] {1,-1,0,0}; class Solut…...

喜报!博睿数据案例获经观传媒“2024年度数字转型创新案例”!

本文已在“经观”APP中发表,点击下方文章链接查看原文: 2024科技创变纪:创新破局 变量启新 近日,经济观察报“2024年度卓越创新实践案例”榜单评选结果正式公布。博睿数据选送的案例“从零到一:可观测体系建设的探索…...

STEC SEC-4400质量流量控制器

STEC SEC-4400 采用金属密封结构,专为半导体、光伏等严苛气体控制场景设计,主要特点如下:中间(13条)控制精度达 1.0% F.S.,满足精密工艺需求重复性为 0.2% F.S.,多次运行一致性高响应时间小于 1…...

告别Flutter后台任务被“杀”:保姆级配置background_fetch的8个关键参数与避坑清单

Flutter后台任务保活实战:深度解析background_fetch的8个核心参数与厂商适配策略 当你的Flutter应用需要在后台默默完成数据同步、位置上报或消息推送时,是否经常遇到任务被系统无情终止的困扰?不同Android厂商对后台任务的限制策略千差万别…...

Base64 编码解码全栈实践:从命令行到代码的跨平台解决方案

1. 为什么你需要掌握Base64全栈技能? 第一次接触Base64是在处理图片上传功能时。当时前端同事抱怨:"你这接口传的二进制数据怎么老是乱码?"后来才知道,原来HTTP协议传输二进制数据时需要先转成文本格式——这就是Base64…...

把扫雷游戏变成算法题:我是如何用C++向量(vector)和结构体模拟连锁爆炸的

从扫雷游戏到连锁爆炸模拟:C向量与DFS的实战演绎 扫雷游戏背后的连锁爆炸机制,本质上是一个典型的图遍历问题。当我在蓝桥杯竞赛中遇到类似题目时,发现用C的vector和结构体配合深度优先搜索(DFS),可以完美模拟这种连锁反应。本文将…...

别再只看分辨率了!工程师实战分享:从AD7606看ADC选型必须死磕的6个参数(附避坑清单)

嵌入式工程师的ADC选型实战指南:超越分辨率的6个关键维度 当我在去年负责一个工业传感器项目时,团队曾因为ADC选型失误导致整个硬件方案推倒重来——我们选择了一款16位高分辨率ADC,却在样机测试阶段发现其输入范围无法兼容现场设备的10V信号…...

Vue3 + Pinia项目里,Rollup打包报循环依赖警告?别慌,一个真实案例教你定位和修复

Vue3 Pinia项目中Rollup循环依赖警告的实战排查与修复 最近在重构一个Vue3企业级后台项目时,遇到了一个棘手的Rollup打包警告。项目采用Vue3 Pinia Rollup技术栈,警告信息直指循环依赖问题。作为有三年Vue实战经验的开发者,我决定深入剖析…...

终极Notepad--代码编辑器使用指南:跨平台国产替代的完整教程

终极Notepad--代码编辑器使用指南:跨平台国产替代的完整教程 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad-- …...

别再死记硬背了!用这3个真实项目案例(储蓄/机票/监护系统)搞定软件工程数据流图

别再死记硬背了!用这3个真实项目案例搞定软件工程数据流图 刚接触软件工程时,你是否也对着课本上那些抽象的数据流图符号发愁?矩形、圆圈、箭头…这些看似简单的图形组合,在实际绘制时却总让人无从下手。更头疼的是考试中那些综合…...

从平衡到非平衡:电桥技术在温度传感与阻抗测量中的实践解析

1. 电桥技术的前世今生:从平衡到非平衡的进化之路 第一次接触电桥是在大学物理实验课上,当时看着老师用几个电阻和检流计捣鼓几下就能测出未知电阻值,感觉特别神奇。后来在实际工作中才发现,这种诞生于19世纪的技术至今仍在工业测…...

如何快速配置Wand-Enhancer:WeMod客户端终极增强工具使用指南

如何快速配置Wand-Enhancer:WeMod客户端终极增强工具使用指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer Wand-Enhancer是一款专为WeMod…...