JMeter 基础知识

JMeter下载

Apache JMeter - Download Apache JMeter

下载Binaries下 zip格式的压缩包

下载

环境要求

JMeter是完全Java开发的软件,所以电脑需要安装Java环境
JMeter运行需要Java8或更高的Java版本

如果未安装Java,参考其他教程进行安装,并配置Java环境变量

运行JMeter

解压JMeter压缩文件,解压后格式如下图所示


JMeter压缩文件解压

进入bin文件夹,找到ApacheJMeter.jar文件,双击运行


ApacheJMeter.jar

出现以下界面即为运行成功


JMeter

切换语言

中文切换为英文

菜单栏 -> 选项 -> 选择语言 -> 选择英语

中文切换为英文

英文切换为中文

菜单栏 -> Options -> Choose Language -> Chinese

这里有两种:Chinese(Simplified) 简体中文、Chinese(Traditional) 繁体中文

英文切换为中文

测试步骤

1、新建测试计划
2、创建一到多个线程组,采样器,控制器等元件
3、执行测试计划

起步

添加元件

方式一:添加

界面左侧,测试计划(Test Plan)右键,添加(add),选择需要的元件,一般来说都是先添加线程组

添加元件

方式二:合并

如果有之前定义的元件及配置,这次可以使用到,可以在需要添加之前配置的元件上右键,点击合并选项

方式三:打开

打开之前定义的元件及配置文件,打开文件将会覆盖现有的元件及配置,请确保已经保存,否则将会丢失现有左侧元件树中的元件及配置

移除元件

选择要删除的元件,右键,点击删除(Remove)选项

调整元件及顺序

选中要调整的元件,长按鼠标左侧,即可上下移动,调整元件的位置及顺序

保存测试计划

最新版JMeter这一步不是必须的,为了减少以后的重复配置,所以最好将测试计划保存下来,下次直接打开即可使用

菜单栏(Menu Bar)-> 文件 (File)-> 保存(Save)或 保存测试计划为(Save Test Plan as)

运行测试计划

菜单栏(Menu Bar)-> 运行(Run)-> 启动(Start)或 不停顿启动(Start no pauses)

或者是工具栏中绿色箭头,启动(Start)和不停顿启动(Start no pauses)

ps: 仅当调试测试计划时,才应使用GUI模式。要运行实际负载测试,请使用命令行(CLI)模式。

停止测试计划

菜单栏 -> 运行 -> 停止(Stop)或 关闭(Shutdown)

或菜单栏,启动按钮右侧按钮,停止(Stop)和关闭(Shutdown)

两种停止的区别
停止(Stop):立即停止,如果线程或采样器正在运行,将会提前结束
关闭(Shutdown):等待当前线程或采样器执行结束后停止

各类元件及作用

在添加元件时,我们可以看到,元件分为线程(用户)、取样器、配置元件、监听器、定时器、前置处理器、后置处理器、断言等

线程(用户)

线程是一切测试计划的起点,所有的控制器和采样器必须放在线程组下,其他一些组件,比如监听器,可以直接放在测试计划下。放在线程组下,是监听当前线程组的执行结果,放在测试计划下,是监听测试计划下所有线程组的执行结果。

取样器

取样器告诉JMeter向服务器发送一个请求并等待响应。它们将按照它们在树中出现的顺序进行处理。控制器可用于修改取样器的重复次数。

JMeter包括以下采样器:FTP、HTTP(可用于WebService)、JDBC、Java对象、JMS、JUnit Test、LDAP、Mail、OS Process、TCP等

你可以通过向测试计划添加一个或多个配置元件来进一步定制采样器。

如果你打算发送多个同类型请求到服务器,考虑使用默认配置元件。

逻辑控制器

逻辑控制器允许您自定义JMeter用来决定何时发送请求的逻辑。逻辑控制器可以更改来自其子元件的请求顺序。它们可以修改请求本身,使JMeter重复请求,等等。

配置元件

配置元件与取样器配合使用。它可以添加或修改请求的配置信息,例如,配置配置HTTP请求头,Cookie等信息

监听器

请注意,所有监听器都保存相同的数据;唯一的区别在于数据在屏幕上的显示方式,可以以图表或表格等不同的形式进行展示

监听器可以添加到测试中的任何地方,包括直接放到测试计划下。他们将收集同级别或比他们级别低的元件的数据。

定时器

默认情况下,JMeter线程按顺序执行采样器而不暂停。我们建议您通过向线程组添加一个可用定时器来指定延迟。如果不增加延迟,JMeter可能会在很短的时间内发出过多的请求,从而使服务器崩溃。

定时器将使JMeter在其范围内的每个采样器之前延迟一定的时间。

前置处理器

前置处理器在发出取样器请求之前执行一些操作。如果前置处理器连接到取样器元件,那么它将在该取样器元件运行之前执行。前置处理器最常用于在示例请求运行之前修改其设置。

后置处理器

后置处理器在发出采样器请求后执行某些操作。如果后置处理器连接到取样器元件,那么它将在该取样器元件运行后立即执行。后置处理器最常用于处理响应数据,通常用于从中提取值。

断言

断言允许你断言有关从被测试服务器收到的响应。使用断言,你可以“测试”您的应用程序是否返回你期望的结果。

例如,你可以断言对查询的响应是否包含某些特定文本。

你可以向任何采样器添加断言。例如,你可以向HTTP请求添加一个断言,以检查文本“”。然后,JMeter将检查HTTP响应中是否存在文本。如果JMeter找不到文本,那么它会将此标记为失败的请求。

请注意,断言适用于其范围内的所有采样器。要将断言限制为单个采样器,请将断言添加为采样器的子级。

元件的执行顺序

配置元件
前置处理器
定时器
取样器
后置处理器
断言
监听器

构建Web测试计划

新建测试计划

菜单栏 -> 文件 -> 新建

如果不想叫测试计划,可以取个更贴切的名字,我这里就叫Web测试计划Demo

测试计划

添加线程(用户)

第一步,先添加线程组元件。线程组告诉JMeter你想要模拟的用户数量,用户发送请求的频率和他们应该发送多少请求。

给线程组起一个更具描述性的名字,例:JMeter用户

下一步,增加用户(线程)数到5,模拟5个用户。也可以调整Ramp-Up时间和循环次数


添加线程组

添加默认的HTTP请求属性

定义完用户之后,下一步就是定义要指定的任务了。

线程组右键,添加,配置元件,HTTP请求默认值。

如果线程组下有多个请求,我们不想在每个请求处配置主机信息(域名或IP地址),我们就可以添加一个HTTP请求属性,所有的请求都会采用请求属性中配置的信息。

HTTP请求属性

添加Cookie支持

几乎所有的web测试都应该使用cookie支持,除非你的应用明确不需要cookie。给线程组添加一个HTTP Cookie Manager,确保每个线程组有自己的cookie,但是可以在每个线程组内所有的HTTP 请求对象间共享。

添加HTTP请求

给JMeter Users元件添加第一个HTTP请求,添加-> 采样器 -> HTTP 请求,之后选择HTTP请求元件,编辑以下属性

修改名称字段为: “Home Page”
设置路径字段为 "/"。我们不需要设置服务器名称字段,因为我们已经在HTTP请求默认值元件中进行了配置。

我们这里路径只配置了"/",是因为我们已经配置了通用的请求属性

Home Page

下一步,添加第二个HTTP请求元件
修改名称为"Changes"
设置Path字段为 "/changes.html"

Changes

添加监听器查看测试结果

可以随便添加几个监听器,看下不同的监听器的展示结果,我这里只添加一个查看结果树监听器

监听器结果

你可能感兴趣的:(JMeter 基础知识)