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

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

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

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

相信能使你更好的进步!

点击下方小卡片

相关推荐
seasugar4 分钟前
记一次Maven拉不了包的问题
java·maven
Allen Bright13 分钟前
【Java基础-26.1】Java中的方法重载与方法重写:区别与使用场景
java·开发语言
苹果酱056714 分钟前
Golang的文件解压技术研究与应用案例
java·vue.js·spring boot·mysql·课程设计
互联网杂货铺14 分钟前
单元测试/系统测试/集成测试知识总结
自动化测试·软件测试·测试工具·职场和发展·单元测试·测试用例·集成测试
秀儿y17 分钟前
单机服务和微服务
java·开发语言·微服务·云原生·架构
ybq1951334543118 分钟前
javaEE-多线程案例-单例模式
java·开发语言
seasugar35 分钟前
Maven怎么会出现一个dependency-reduced-pom.xml的文件
xml·java·maven
一只淡水鱼6638 分钟前
【mybatis】基本操作:详解Spring通过注解和XML的方式来操作mybatis
java·数据库·spring·mybatis
张声录140 分钟前
【ETCD】【实操篇(十六)】基于角色的访问控制:ETCD 安全管理指南
数据库·安全·etcd
warrah1 小时前
redis——岁月云实战
数据库·redis·缓存