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

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

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

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

相信能使你更好的进步!

点击下方小卡片

相关推荐
掘金-我是哪吒10 分钟前
分布式微服务系统架构第156集:JavaPlus技术文档平台日更-Java线程池使用指南
java·分布式·微服务·云原生·架构
亲爱的非洲野猪36 分钟前
Kafka消息积压的多维度解决方案:超越简单扩容的完整策略
java·分布式·中间件·kafka
wfsm38 分钟前
spring事件使用
java·后端·spring
老纪的技术唠嗑局1 小时前
OceanBase PoC 经验总结(二)—— AP 业务
数据库
微风粼粼1 小时前
程序员在线接单
java·jvm·后端·python·eclipse·tomcat·dubbo
缘来是庄1 小时前
设计模式之中介者模式
java·设计模式·中介者模式
阿里云大数据AI技术1 小时前
OpenSearch 视频 RAG 实践
数据库·人工智能·llm
rebel1 小时前
若依框架整合 CXF 实现 WebService 改造流程(后端)
java·后端
代码的余温3 小时前
5种高效解决Maven依赖冲突的方法
java·maven
慕y2743 小时前
Java学习第十六部分——JUnit框架
java·开发语言·学习