jmeter常用元件使用和介绍

本文详细介绍了JMeter的各种组件,包括线程组、取样器、配置元件、逻辑控制器、后置处理器、断言、监听器等,并提供了具体用例和应用场景。通过学习,读者能够掌握JMeter在功能测试和压力测试中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jmeter脚本是基于一个测试计划,描述一系列Jmeter 运行时要执行的步骤,包含一个或者多个线程租,取样器,逻辑控制器,前/后置处理器,断言,定时器,配置元件,监听器等。

一、工具栏

在这里插入图片描述
(1)新建: 新建测试计划
(2)模板
(3)打开脚本
(4)保存
(5)剪切
(6)复制
(7)粘贴
(8)全部展开: 展开目录树
(9)全部折叠: 收起目录树
(10)切换: 切换启用/禁用
(11)运行: 执行脚本
(12)不停顿开始
(13)停止: 立即停止脚本
(14)关闭
(15)清除: 清除当前选中结果树或聚合报告等历史结果
(16)清除全部: 清除当前测试计划所有结果树,聚合报告等历史结果
(17)查找
(18)重置搜索
(19)函数助手对话框
(20)帮助
(21)计时
(22)报错数
(23)运行中线程数/运行线程总数
(24)运行中展示

二、测试计划

在这里插入图片描述
名称/注释:整个测试脚本保存的名称及对该测试计划的注释,可自定义。
用户定义的变量:添加用户自定义变量,为全局变量。一般不建议在测试计划上添加,因为不方便启用/禁用,可直接添加用户自定义变量配置元件。
独立运行每个线程组:用户控制多个线程组执行顺序。勾选时,线程组执行顺序:由上而下,即前一个执行完后启动下一个;不勾选时,默认各线程组并行,随机执行。
主线程结束后运行tearDown线程组:测试任务线程组运行结束后,运行tearDown线程组。
函数测试模式:勾选时,jmeter会记录来自服务返回的每个取样数据,在监听器中选择一个文件,数据会被写入此文件。若不记录到文件,此选项无意义。不建议使用,影响性能。
添加目录或jar包到ClassPath:需调用外部Java文件或者jar包,可由此处添加。

三、线程组

在这里插入图片描述

1、setUp线程组

与普通线程组完全相同,不同的是执行顺序:在普通线程组执行前被触发
应用场景:数据库连接,登录,注册等

2、teatDown 线程组

与普通线程组完全相同,不同的是执行顺序:在普通线程组执行后被触发
应用场景:关闭数据库连接,退出等
默认情况下,如果测试按预期完成,则TearDown线程组将不会运行。若要运行,则测试计划勾选复选框-主线程结束后运行tearDown线程组。

3、线程组 (常用)

在这里插入图片描述

名称/注释:线程组名称及注释,可自定义
在取样器错误后要执行的动作:
– 继续:忽略错误,继续执行
– 启动下一进程循环:忽略错误,线程当前循环停止,执行下一循环
– 停止线程:停止当前线程组,不影响其他线程组
– 停止测试:当前线程执行完毕后,停止当前整个测试计划
– 立即停止测试:立即停止,当前正执行取样器会被中断
线程属性:
– 线程数:并发数
– Ramp-UP时间(秒):启动所有线程所需要的时间
– 循环次数:永远/设置循环次数
– 延迟创建线程直到需要:未勾选,一开始创建所有线程;勾选时,线程只在被需要合适的时候被创建
– 调度器:勾选使用调度器,可对线程组进行调度时间配置
持续时间(秒):控制测试执行持续时间
启动延迟(秒):控制测试在多久后启动执行

四、取样器

模拟用户操作向服务器发送请求,用监听器可查看请求结果,用断言验证响应结果是否符合预期。

1、HTTP请求

在这里插入图片描述
名称:请求名称,可自定义
协议:http/https ,不填默认http
服务器名称或IP:Web服务器的域名或IP地址
端口:Web服务器使用的端口,不填默认80
方法:GET/POST, 其他支持HEAD, TRACE, OPTIONS, PUT, DELETE, PATCH, COPY, LOCK,

### JMeter常用的 JDBC 配置及使用方法 #### 一、JDBC 连接配置 (JDBC Connection Configuration) 为了使 JMeter 能够与数据库交互,需先创建 `JDBC Connection Configuration` 元件来定义如何连接到目标数据库。此元件主要涉及以下几个参数: - **Variable Name**: 定义用于存储数据库连接对象的变量名称,在后续的 SQL 请求中会引用这个变量名[^1]。 - **Database URL**: 描述了要访问的具体数据库实例路径。对于 Oracle 数据库而言,URL 的格式通常是 `jdbc:oracle:thin:user/password@//hostname:port/servicename` 或者采用 TNS 名称的方式指定[^2];而对于 Microsoft SQL Server,则可能形如 `jdbc:sqlserver://localhost;databaseName=testdb;user=sa;password=pwd`[^4]。 - **JDBC Driver Class**: 不同类型的 RDBMS 对应不同的驱动程序类名。例如,当操作 MySQL 数据库时,应该填写 `com.mysql.cj.jdbc.Driver`; 若是 PostgreSQL 则为 `org.postgresql.Driver`。而针对 MS SQL Server Oracle 分别给出了具体的例子:前者推荐使用 `com.microsoft.sqlserver.jdbc.SQLServerDriver`,后者则是 `oracle.jdbc.driver.OracleDriver`。 - **Username & Password**: 输入具有适当权限的操作账户凭证以便成功登录并执行查询语句。 ```properties # Example of properties file content for setting up a connection to an external database. variable_name=jdbcConnection url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC driver=com.mysql.cj.jdbc.Driver username=root password=admin123 ``` #### 二、发出 SQL 查询请求 (JDBC Request Sampler) 一旦建立了有效的数据库连接之后,就可以通过添加 `JDBC Request` 取样器来进行实际的数据读写工作了。该组件允许用户构建各种形式的标准SQL命令(SELECT, INSERT, UPDATE 等),并将它们发送给已建立好的数据源去处理。值得注意的是,每一个这样的采样单元都应当关联之前提到过的那个代表特定 DB session 的 "Variable Name"。 ```java String query = "INSERT INTO users(name,email) VALUES(?,?)"; PreparedStatement pstmt = conn.prepareStatement(query); pstmt.setString(1,"John Doe"); pstmt.setString(2,"john@example.com"); int affectedRows = pstmt.executeUpdate(); System.out.println("Number of rows inserted:" + affectedRows); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值