Jmeter-1安装及GUI介绍

2020-07-15  本文已影响0人  卫彬TM

安装

配置java环境
下载jmeter程序包,解压即可使用。http://jmeter.apache.org/download_jmeter.cgi

GUI界面

GUI界面功能相对简单


image.png

Jmeter插件管理

Jmeter测试计划各组件

以下为链接接中文章内容,转载学习使用

用户线程

image.png

通俗理解:

  1. 在采样器失败后怎么处理,5中处理方式
  2. 线程属性
  1. 调度器

线程组分类

参数解释:

· Target Concurrency:目标并发(总线程数)
· Ramp Up Time:加速时间(总加速时长)
· Ramp-Up Steps Count:加速步骤计数(总加速/递增次数)
· Hold Target Rate Time:保持目标速率时间(到达总线程数后持续时长)
· Time Unit:时间单位(分钟或者秒)
· Thread Iterations Limit:线程迭代次数限制(循环次数)
· Log Threads Status into File:将线程状态记录到文件中(将线程启动和线程停止事件保存为日志文件);
image.png
1、线程组最大用户数:100个
2、初次加载用户前等待时间:10秒,此时没有用户进入
3、第一次加载用户数:10个用户开始
4和5:每隔10秒加10个用户
6、ramp-up在几秒内启动线程组
7、持续压测60秒,一分钟
8、和9:退用户,每10秒退出10个用户
10、上面各种设置的图形表示
Target Rate:目标线程数(总线程数)
Ramp Up Time:所需多少加载时间(总加速时长)
Ramp Up Steps Count:所需多少个加载梯次(总递增/加速次数)
Hold Target Rate Time:持续运行时间(到达总线程数后持续时长)
Time Unit:可以选择用分钟还是秒来做单位
Thread lterations Limit:线程迭代次数限制。如果我们只需要运行每个用户一次以模拟用户的实际行为,则可能会很有用。在我们的例子中,该字段为空,因此每个用户将运行不确定的迭代,直到调度结束。
Log Thread Status into File:将线程状态记录到文件中
Concurrency Limit:最大并发数限制。以避免出现内存不足的问题。在我们的例子中是1000,这是一个很大的数字。

配置元件

以下参考https://zhuanlan.zhihu.com/p/72857359 侵删

配置元件与取样器密切相关。类似于配置文件之于软件,软件配置文件可以影响软件的行为;同样通过配置元件可以新增或修改请求内容,实现对请求的自定义。


image.png

监听器

监听器可以在JMeter执行测试的过程中搜集相关的数据,并将这些数据不同的形式,比如树、图、报告等呈现出来。


image.png

定时器

默认情况下,JMeter线程按顺序执行取样器而不会出现暂停的情况。通过将定时器添加到线程组来指定延迟。如果不加延迟,JMeter可能会在很短的时间内发送过多的请求到服务器,导致服务器负载过重而崩溃。定时器可以使在其作用范围内的每个取样器执行前延迟一段时间。


image.png

前置处理器

前置处理器在进行取样器请求之前执行一些操作。如果前置处理器附加到取样器元素,那么它将在该取样器元素运行之前执行。前置处理器经常用于在运行之前修改取样器请求的设置,或更新未从响应文本中提取的变量。


image.png

后置处理器

后置处理器在取样器请求完成后执行一些操作。如果后置处理器附加到取样器元素,那么它将在该取样器元素运行之后执行。后处理器通常用于处理响应数据,从中提取需要的值。


image.png

断言

断言用于验证取样器请求或对应的响应是否返回了期望的结果。判断测试执行是否成功。


image.png

测试片段

image.png

非测试元件

image.png

1.3 JMeter执行顺序与作用域

1.3.1 执行顺序

类似于运算符或操作符的优先级,当JMeter测试中包含多个不同的元素时,哪些元素先执行,哪些元素后执行,并不是严格按照它们出现的先后顺序依次有序执行的,而是会遵循一定的内部规则,我们称之为JMeter元素的执行顺序,一般情况下JMeter元素按照如下顺序依次执行:
0. 配置元件
1. 定时器
2. 前置处理器
3. 取样器
4. 后置处理器
5. 断言
6. 监听器
一个简单的例子:


image.png

其中①为取样器、②为配置元件、③为定时器、④为监听器、⑤为前置处理器、⑥为后置处理器、⑦为断言。

执行顺序为:②-->③-->⑤-->①-->⑥-->⑦-->④

1.3.2 作用域

JMeter测试树中的元素可以分为两类:层次结构与顺序结构
层次结构的元素包括:配置元件、定时器、前置处理器、后置处理器、断言与监听器;
顺序结构的元素包括:取样器和逻辑控制器。

一般而言顺序结构的元素没有作用域的概念,而作用域只针对具有层次结构的组件。

JMeter作用域就是组件对取样器有效的区域,在这个区域内组件是起作用的。

层次结构的元素作用域

具有层次结构的元素的作用域规则如下:

(1)若其父节点为取样器,则其只对该取样器起作用;
(2)若其父节点为逻辑控制器,则会影响逻辑控制器下的所有取样器;
(3)若其父节点为线程组,则会影响线程组下的所有取样器;
(4)若其父节点为测试计划,则会影响测试计划下的所有取样器。
一些例子:
1.父节点为取样器

-Test Plan
    -Thread Group
        HTTP Request1
            Response Assertion
            View Results Treel
        HTTP Request2
            View Results Tree2

解析:

“Response Assertion”断言的父节点为“HTTP Request1”取样器,则只会对“HTTP Request1”进行断言,不会断言“HTTP Request2”取样器。
2.父节点为逻辑控制器

-Test Plan
    -Thread Group
        -Loop Controller
            Response Assertion
            -HTTP Request1
                View Results Treel
            -HTTP Request2
                View Results Tree2

解析:

“Response Assertion”断言的父节点为“Loop Controller”逻辑控制器,“Response Assertion”会对逻辑控制下的“HTTP Request1”取样器和“HTTP Request2”取样器进行断言。

3.父节点为线程组

-Test Plan
    -Thread Group
        Response Assertion
        -HTTP Request1
            View Results Treel
        -Loop Controller
            -HTTP Request2
                View Results Tree2
            -HTTP Request3
                View Results Tree3

解析:

“Response Assertion”断言的父节点为“Thread Group”线程组,“Response Assertion”会对线程组下的“HTTP Request1”取样器、“HTTP Request2”取样器与“HTTP Request3”取样器进行断言。

4.父节点为测试计划

-Test Plan
    Response Assertion
    -Thread Groupl
        -HTTP Request1
            View Results Treel
        -Loop Controller
            -HTTP Request2
                View Results Tree2
    -Thread Group2
        -HTTP Request3
            View Results Tree3

解析:

“Response Assertion”断言的父节点为“Test Plan”测试计划,“Response Assertion”会对测试计划下的“HTTP Request1”取样器、“HTTP Request2”取样器与“HTTP Request3”进行断言。

1.4 一个简单的JMeter测试计划

以访问百度为例(https://www.baidu.com)。

按照如下步骤完成测试计划:

1.在Test Plan节点上右键,选择Add->Treads(users)->Thread Group
  在Tread Properties项下,设置“Number of Threads(users)”为1
2.在Thread Group节点上右键,选择Add->Sampler->HTTP Request
  在Web Server项下,设置“Server Name or IP”为www.baidu.com 
  在HTTP Request项下,设置“Path”为/
3.在HTTP Request节点上右键,选择Add->Assertions->Response Assertion
  在Field to Test项下,选择“Response Code”
  在“Patterns to Test”项下,点击“Add”,输入200
4.继续在HTTP Request节点上右键,选择Add->Listener->View Results Tree
5.点击“Save”快捷按钮,然后输入测试计划文件名,保存
6.点击“Start”快捷按钮执行测试,可以在“View Results Tree”中查看测试结果。

JMeter测试查看结果树显示如下:

image
PS:
参考:https://zhuanlan.zhihu.com/p/123244380,侵删
参考https://zhuanlan.zhihu.com/p/72857359 侵删
上一篇 下一篇

猜你喜欢

热点阅读