【工具-jmeter】jmeter 入门级 demo 练习

目录

前言:

[1. Jmeter 准备](#1. Jmeter 准备)

[1.1 jmeter 安装包下载](#1.1 jmeter 安装包下载)

[1.2 jmeter 启动](#1.2 jmeter 启动)

[1.3 jmeter 语言选择](#1.3 jmeter 语言选择)

[2. Jmeter 运行 1 个 Web 请求的 demo](#2. Jmeter 运行 1 个 Web 请求的 demo)

[2.1 添加 1 个 Thread Group 线程组](#2.1 添加 1 个 Thread Group 线程组)

[2.2 添加 1 个 HTTP Request 请求](#2.2 添加 1 个 HTTP Request 请求)

[2.3 乱码问题](#2.3 乱码问题)

[2.4 添加 1 个 HTTP Header 请求头](#2.4 添加 1 个 HTTP Header 请求头)

[2.4 添加 1 个 View Result Tree 结果报告](#2.4 添加 1 个 View Result Tree 结果报告)

[2.5 运行测试,查看结果](#2.5 运行测试,查看结果)

[2.6 添加 1 个 Assertion 和 Assert Results](#2.6 添加 1 个 Assertion 和 Assert Results)

[2.7 使用用户自定义变量](#2.7 使用用户自定义变量)

[2.8 关联](#2.8 关联)

[3. Jmeter 并发设置](#3. Jmeter 并发设置)

[3.1 Number of Threads(users)](#3.1 Number of Threads(users))

[3.2 Ram-Up Period(in seconds)](#3.2 Ram-Up Period(in seconds))

[3.3 Loop Count](#3.3 Loop Count)


前言:

JMeter 是一个开源性能测试工具,它可以帮助我们更轻松地执行性能测试,并使测试结果更加可靠。

1. Jmeter 准备

1.1 jmeter 安装包下载

1.2 jmeter 启动

mac 为例:

1、解压:

复制代码
unzip apache-jmeter-5.1.1.zip

2、jdk 版本 1.8 或 1.8+:

复制代码
java -version

显示:java version "1.8.0_271"

3、赋权 + 启动

复制代码
chmod +x /apache-jmeter-5.1.1/bin/jmeter
sh /apache-jmeter-5.1.1/bin/jmeter

windos 为例:

1、配置环境变量:

  • 此电脑 - 右键 - 属性 - 高级系统设置 - 环境变量 - 系统变量:
  • 1、JMETER_HOME E:\jmeter\apache-jmeter-5.1.1\apache-jmeter-5.1.1(此路径为 jmeter 放置位置,根据实际情况调整)
  • 2、Path %JMETER_HOME%\bin

2、启动:

  • 进入 E:\jmeter\apache-jmeter-5.1.1\apache-jmeter-5.1.1\bin,双击 jmeter.bat

1.3 jmeter 语言选择

2. Jmeter 运行 1 个 Web 请求的 demo

2.1 添加 1 个 Thread Group 线程组

必须新建一个 Thread Group, jmeter 的所有任务都必须由线程处理,所有任务都必须在线程组下面创建

2.2 添加 1 个 HTTP Request 请求

比如我要发送一个 Get 方法的 http 请求: toy1.weather.com.cn/search?cityname=上海

2.3 乱码问题

如果返回结果存在乱码

方法 1:

  • 添加 BeanShell Sampler 注意要在 HTTP 请求后面添加

  • 在 Script 处填写如下代码:prev.setDataEncoding("utf-8");

方法 2:

  • 修改 bin 下的配置文件并重启:jmeter.properties

  • 优点:一次修改,长久使用

2.4 添加 1 个 HTTP Header 请求头

选中上一步新建的 HTTP request. 右键,新建一个 Http Header manager. 添加一个 header

2.4 添加 1 个 View Result Tree 结果报告

View Results Tree 是用来看运行的结果的

2.5 运行测试,查看结果

到这里。 我们已经成功运行起来了(有可能返回的中文显示乱码,但不影响我们后续的教程)。

2.6 添加 1 个 Assertion 和 Assert Results

选择 HTTP Request, 右键 Add-> Assertions -> Response Assertion. 添加 Patterns To Test

然后添加一个 Assetion Results 用来查看 Assertion 执行的结果.

选中 Thread Group 右键 Add -> Listener -> Assertion Results.

运行后, 如果 HTTP Response 中没有包含期待的字符串。 那么 test 就会 Fail.

2.7 使用用户自定义变量

我们还可以在 Jmeter 中定义变量。 比如我定义一个变量叫 city. 使用它的时候用 ${city}

添加一个 User Defined Variables. 选中 Thread Group: 右键 Add -> Config Element -> User Defined Variables.

我们添加一个变量: city

然后在 Http Request 中使用这个变量

2.8 关联

所谓关联, 就是第二个 Requst, 使用第一个 Request 中的数据

我们需要在第一个 Http Requst 中新建一个正则表达式,把 Response 的值提取到变量中,提供给别的 Http Request 使用

选择第一个 Http Request, 右键 Add -> Post Processors -> Regular Expresstion Extractor

现在新建第二个 Http Request, 发送到: http://www.weather.com.cn/weather2d/${citycode}.html

${citycode} 中的数据, 是从 Regular Expression Extractor 中取来的

到这, 脚本就全部写好了, 运行下, 请求参数里面 http://www.weather.com.cn/weather2d/101020100.shhtml ${citycode}被替换数字

3. Jmeter 并发设置

3.1 Number of Threads(users)

  • 用于设置线程数,即用户数

3.2 Ram-Up Period(in seconds)

  • 用于告知 JMeter 要在多长时间内建立全部的线程。
  • 假如 Ramp-Up 设置了 1 秒,而 Number of Thread(users), 即线程数,也是用户数,设置了 10,则代表 JMeter 会每在 1 秒内建立 10 个线程,即 1/10=0.1 秒建立一个线程。 Ramp-Up 的值默认为 0,代表立即建立所有线程,即同时并发。

3.3 Loop Count

  • 用于设置循环次数

如图,此处代表 300 个用户并发处理,并只执行一次脚本

作为一位过来人也是希望大家少走一些弯路

在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。

(软件测试相关资料,自动化测试相关资料,技术问题答疑等等)

相信能使你更好的进步!

点击下方小卡片

相关推荐
SPC的存折13 小时前
MySQL 8.0 分库分表
linux·运维·服务器·数据库·mysql
m0_7190841113 小时前
天机学堂aaaa
java
孙鹏宇.13 小时前
左值右值.
java·开发语言
蓦然乍醒13 小时前
使用 DBeaver 还原 PostgreSQL 备份文件 (.bak) 技术文档
数据库·postgresql
XDHCOM13 小时前
Redis节点故障自动恢复机制详解,如何快速抢救故障节点,确保数据不丢失?
java·数据库·redis
风吹迎面入袖凉13 小时前
【Redis】Redisson分布式锁原理
java·服务器·开发语言
QCzblack13 小时前
BugKu BUUCTF ——Reverse
java·前端·数据库
cyber_两只龙宝14 小时前
【Oracle】Oracle之DQL中WHERE限制条件查询
linux·运维·数据库·云原生·oracle
Orange_sparkle14 小时前
learn claude code学习记录-S02
java·python·学习
luis的妙妙屋14 小时前
主流数据库数据类型对比分析
数据库