【工具-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 个用户并发处理,并只执行一次脚本

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

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

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

相信能使你更好的进步!

点击下方小卡片

相关推荐
long3162 小时前
MySQL 学习练习(配套 01 入门资料)
数据库·学习·mysql
Pluchon3 小时前
Java个人综合项目——萌部落社区V2.0
java·python·spring·spring cloud·postman·idea
梦雨生生4 小时前
java开发工具(学习第一天)
java·开发语言·学习
数据库小学妹4 小时前
数据库等保三级和四级有什么区别?从访问控制到备份恢复的完整对比
数据库·安全·数据库安全·三级等保·等保合规·四级等保
她说可以呀4 小时前
Spring-ai-alibaba文生图
java·人工智能·spring
看浪的路人5 小时前
第3讲:手写第一个 MCP Server(Python SDK)
jvm·数据库·oracle
大眼、不聚光5 小时前
5.mysql--主从同步安装部署
数据库·mysql
Yan_chen6666 小时前
SQL-LABS_Less18-20实战攻略
数据库·sql·web安全·网络安全
阿祖zu6 小时前
芝士就是力量!开源私有化部署与 GitHub 双向同步的个人知识笔记 App
前端·后端·ios
oradh6 小时前
Oracle RAC OCR维护操作总结
数据库·oracle·ocr·rac ocr维护·ocr维护·vote disk