当我们第一次打开JMeter的时候,树形标签栏中只有一个“测试计划”。



如果想要发送一个最基础的请求,需要操作如下步骤:

步骤1:创建一个测试计划

打开JMeter会默认有一个创建好的测试计划。

一个测试计划描述了一系列JMeter运行时要执行的步骤。一个完整的测试计划包含一个或者多个线程组,逻辑控制器,取样控制器,监听器,定时器,断言和配置元件。(测试计划必须至少具有一个线程组)

提示:

如果需要创建一个新的测试计划,点击“文件” —> "新建",会开启新的JMeter窗口。

(JMeter原则上是希望一个窗口只可以修改或编辑一个测试计划)

步骤2:创建线程组

首先需要选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组,如下图:

说明:

  • setUp线程组:在线程组之前运行。
  • tearDown线程组:在线程组之后运行。

如果你还安装了其他的组件和插件的话,还会有一些其他的线程选项。

步骤3:创建取样器

选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求(以HTTP请求为例)

步骤4:创建监听器

选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树

步骤5:完善信息

开始编辑树形标签栏中每个标签的内容。

(1)测试计划标签

  • 名称:默认为测试计划,在实际的工作中,你需要修改成xxx项目的测试计划。
  • 注释:就是对该测试项目的一些描述。
  • 添加目录或jar包到ClassPath:当我们需要引用一些外部jar包的时候,点击“浏览”进行添加。之后我们在写测试脚本的时候,就可以引用这些jar包中的内容了。

(其他的选项和内容我们之后再说明,这里就先简单介绍一些基本用法)

(2)线程组标签

  • 名称:线程组就相当于一个流程,也就是定义该流程的名字,例如:访问百度。
  • 注释:对该线程组的说明。

(其他内容保持默认即可)

(3)HTTP请求标签

  • 名称:对于我们来说一个HTTP请求就相当于调用一个接口。一个流程(线程组)中可以有多个接口(HTTP请求)。换句话说,在一个流程中,要访问多少个接口,就添加多少个HTTP请求。

    该名称可以修改成访问接口的名字,例如:访问百度。
  • 注释:对该HTTP请求的说明。
  • 协议(必填):写你需要使用的协议,如访问百度网站需要使用http协议或者https协议。
  • 服务器名称或IP(必填):也就是需要请求服务器的域名或者IP地址。例如访问百度网站,填写www.baidu.com。(注意此处不要加协议)
  • 端口号:有指定访问的端口号就需要填写,访问百度网站则不需要填写,会使用默认端口号,如80或者443。
  • 方法:也就是选择请求方式,我们访问百度网站,选择GET方式即可。

(其他内容保持默认即可)

填写完如下图:

步骤6:保存测试计划

此时就可以点击工具栏中的“启动”按钮,运行这个测试计划。

点击"启动"按钮后,JMeter会弹出一个警告,如下图:

提示你再测试计划执行前,请先保存该测试计划。点击YES就会弹出保存窗口。

我们就先把这个测试计划保存到桌面。

保存完成后,JMeter会自动执行该测试计划。

结果去察看结果树中查看。

步骤7:查看结果

点击树形标签栏中测试计划的“察看结果树”来查看该测试计划的执行结果。

察看结果树会显示测试计划中所有请求数据,请求数据中展示了每一个取样器的结果、请求信息和响应信息。除此之外还可以查看获得响应所花费的时间,以及一些响应代码等信息。这些内容可以帮助我们去分析脚本是否存在问题。

察看结果树内容如下图:

察看结果树可以说是JMeter中最常用的监听器,通过它就可以看到请求的发送和返回信息。

总结:JMeter测试计划要素

JMeter中一个脚本就是一个测试计划,也是一个管理单元。JMeter的请求模拟与并发数设置都在脚本文件中一起设置。

测试计划要素如下:

  • 要素一:脚本中测试计划只能有一个JMeter测试计划。

    同一时刻场景固然只能有一个,JMeter脚本在GUI中显示是树型结构,测试计划是根节点。根节点当然只能有一个。
  • 要素二:测试计划中至少要有一个线程组。

    JMeter负载是通过线程组驱动的,所以计划中至少要出现一个线程组。

    JMeter测试计划支持多个线程组,我们可以在计划下面建立多个线程组,把不相关的业务分布在不同的线程组。(也就是一个测试计划中可以个多个流程,一个流程就代表一个线程组)
  • 要素三:至少要有一个取样器。

    测试的目的就是要模拟用户请求,没有取样器脚本就毫无意义。

    也就是在一个流程下可以有多个请求,一个接口对应一个HTTP请求。
  • 要素四:至少有一个监听器。(收集结果)

    测试结果用来衡量系统性能,我们需要从结果中分析系统性能。

说明

我们这里只是简单了介绍了JMeter发送一个请求最基础的一些步骤。

关于每个步骤中具体的操作和更多的细节都没有展开说明,以后会逐一展开详细说明,我们先对使用JMeter发送请求有一个最基础的认识就可以了。

『动善时』JMeter基础 — 6、使用JMeter发送一个最基础的请求的更多相关文章

  1. 『动善时』JMeter基础 — 50、使用JMeter测试WebSocket接口

    目录 1.什么是WebSocket接口 2.为什么需要WebSocket 3.测试WebService接口前的准备 4.WebSocket Sampler组件界面详解 5.使用JMeter测试WebS ...

  2. 『动善时』JMeter基础 — 40、JMeter中ForEach控制器详解

    目录 1.什么是逻辑控制器 2.ForEach控制器介绍 3.ForEach控制器的使用 (1)测试计划内包含的元件 (2)获取学院列表请求内容 (3)JSON提取器内容 (4)ForEach控制器内 ...

  3. 『动善时』JMeter基础 — 41、使用JMeter连接数据库(MySQL)

    目录 1.为什么要使用JMeter连接数据库 2.JMeter连接数据库的前提 3.JDBC连接配置组件界面介绍 4.JMeter连接数据库演示 (1)测试计划内包含的元件 (2)测试计划中添加链接数 ...

  4. 『动善时』JMeter基础 — 2、JMeter的安装和启动

    1.安装Java环境 由于JMeter是纯Java的桌面应用程序,因此它的运行环境需要Java环境,即需要安装JDK或JRE.(也就是安装JDK环境) 步骤简要说明: 下载并安装JDK 配置环境变量 ...

  5. 『动善时』JMeter基础 — 7、jmeter.properties文件常用配置

    目录 1.默认语言设置 2.配置默认编码格式 3.GUI图标放大比例设置 4.功能区工具栏图标大小设置 5.视图区目录树图标大小设置 6.内容区编辑字体设置 7.添加JMeter元素快捷键设置 8.捕 ...

  6. 『动善时』JMeter基础 — 27、通过JMeter函数助手实现参数化

    目录 1.测试计划中的元件 2.数据文件内容 3.函数助手配置 (1)函数助手的打开方式 (2)函数助手界面介绍 (3)编辑后的函数助手界面 4.HTTP请求组件内容 5.线程组元件内容 6.脚本运行 ...

  7. 『动善时』JMeter基础 — 32、JMeter察看结果树组件详解

    目录 1.察看结果树介绍 2.察看结果树界面详解 3.察看结果树的其他功能 (1)将数据写入文件中 (2)Search功能 (3)Scroll automatically选项 4.总结 1.察看结果树 ...

  8. 『动善时』JMeter基础 — 35、JMeter接口关联【JSON提取器】详解

    目录 1.JSON提取器介绍 2.JSON提取器界面详解 3.JSON提取器的使用 (1)测试计划内包含的元件 (2)HTTP Cookie管理器内容 (3)用户登陆请求界面内容 (4)JSON提取器 ...

  9. 『动善时』JMeter基础 — 39、JMeter中如果(If)控制器详解

    目录 1.什么是逻辑控制器 2.如果控制器介绍 3.如果控制器的使用 (1)测试计划内包含的元件 (2)如果控制器界面内容 (3)HTTP请求界面内容 (4)运行结果 4.如果控制器中表达式的写法 ( ...

随机推荐

  1. CentOS rpm常用功能记录

    CentOS7主要有rpm和yum这两种包软件的管理.两者有功能上的区别,其中主要区别是:yum使用简单但需要联网,yum会去网上包源去获取所需要的软件包.而rpm的需要做的事情就更细一些,比如我们需 ...

  2. 基于Hi3559AV100的视频采集(VDEC-VPSS-VO)整体框图设计

    下面给出基于Hi3559AV100的视频采集整体设计,具体设计将在后续给出: 图形采集端整体设计 Hi3559AV100软件程序按结构划分可分为4层,第一层是硬件驱动层,第二层是操作系统层,第三层是媒 ...

  3. PAT-1152(Google Recruitment)字符串+素数

    Google Recruitment PAT-1152 本题最需要注意的是最后输出要以字符串形式输出,否则可能会出现前导0的情况. /** * @Author WaleGarrett * @Date ...

  4. AtCoder Beginner Contest 171-175 F

    171 F - Strivore 直接把初始字符当成隔板,统计的方案数会有重复 为了避免重复情况,规定隔板字母尽可能最后出现,即在隔板字母后面不能插入含隔板字母的字符串 所以在隔板字母后插入的字符只有 ...

  5. 全真教程:Windows环境Jupyter Notebook安装、运行和工作文件夹配置

    全真教程:Windows环境Jupyter Notebook安装.运行和工作文件夹配置 @ 目录 全真教程:Windows环境Jupyter Notebook安装.运行和工作文件夹配置 一.Jupyt ...

  6. Python装饰器(2)

    上一篇介绍了装饰器的常规使用方法,即函数形式的装饰器.这篇文章中,进一步介绍类class跟装饰器的相关知识. [用装饰器来装饰类函数] 这是今天介绍的第一种使用场景,比较常见.因为目前好多的编程语言都 ...

  7. Beego框架学习---layout的使用

    Beego框架学习---layout的使用 在管理系统中,管理菜单的界面是固定的,会变化的只是中间的部分.我就在想,是不是跟angular的"组件模块的router-outlet一样&quo ...

  8. python中类的魔法方法

    __xx__这种方法,在Python中均称为魔法方法 1.__init__(self) 该方法的作用是初始化对象 在创建对象时被默认调用,不需要手动调节 self参数不需要开发者传递,解释器会自动将创 ...

  9. Just a Joke HDU - 4969(物理+积分)

    题目链接:https://vjudge.net/problem/HDU-4969#author=0 题意:一个人在圆心以V2速度追赶一个以V1的速度进行圆周运动,问在圆心的人能否在不超过D的距离追上他 ...

  10. 面向对象进阶时,if语句写错位置

    这周blog我也不知道要写什么,因为这章我其实学得有点懵,前面那几天我纠结了好久代码,一直不知道原因错在哪里.后来经过询问老师才知道自己调用错了构造方法,相信也有跟我一样的新手会犯这个错误.我在创建关 ...