• 线程组

Ramp-Up Period:告诉JMeter达到最大线程数需要多长时间。假定共有10个线程,Ramp-Up Period为100秒,那么JMeter就会在100秒内启动所有线程,并让它们运转。每一个测试线程都会在上一个线程启动10秒之后才开始运行。假定共有30个线程,Ramp-Up Period为120秒,那么线程启动的间隔变为4秒。

Ramp-Up参数不能设定得太短,否则在测试的初始阶段会给予服务器过大的压力。Ramp-Up参数也不能设定得太长,否则就会发生第一个线程已经执行完毕,而最后一个线程还没有启动(除非测试人员期望这种特殊情况发生。)

如何找到一个合适的Ramp-Up参数值?建议初始值设定为Ramp-Up=总线程数,后续再根据实际情况适当增减。

在调试器控制面板中,可以设定测试运行的『启动时间』和『结束时间』。测试启动后会一直等待,直到用户设定的启动时间。测试运行期间,JMeter会在每一次循环结束后,检查是否已经达到结束时间。如果已经达到结束时间,JMeter就会终止测试运行,否则JMeter会继续下一个测试循环。

还可设定『持续时间』和『启动延迟』两项参数。需要注意的是,『启动延迟』会使『启动时间』无效,而『持续时间』会使『结束时间』无效。

  • 控制器

JMeter有两种类型的控制器:采样器和逻辑控制器,二者结合起来驱动了测试进程。采样器被JMeter用来向服务器发送请求。逻辑控制器用来控制JMeter的测试逻辑,比如发送请求。如:测试人员可以插入交替控制器来轮流发送多个请求。

1)采样器

采样器告诉JMeter发送一个请求到指定服务器,并等待服务器的请求。采样器会按照其在测试树中的顺序去执行,还可以用逻辑控制器来改变采样器运行的重复次数。

如果想检查服务响应的内容,可以为采样器添加断言。例如,当对Web应用做压力测试时,服务器虽然成功返回了『HTTP Response』代码,但是页面上可能会有错误,或者丢失了部分页面片段。针对这种情况,测试人员可以添加断言来检查特定的HTML标签,或者常见的错误信息等。JMeter允许在断言中使用正则表达式。

2)逻辑控制器可以帮助用户控制JMeter的测试逻辑,特别是何时发送请求。逻辑控制器可以改变期子测试元件的请求执行顺序。

所有的Web测试都应该添加Cookie管理器,否则JMeter就会忽略Cookie。通过把HTTP Cookie管理器添加到线程组层级,就能确保所有HTTP请求使用相同的Cookie。

  • 监听器

监听器提供了对JMeter在测试期间收集到的信息的访问方法。『图形结果』监听器会将系统响应时长绘制在一张图片中。『查看结果树』监听器会展示采样器请求和响应的细节,还能以HTML和XML格式展示系统响应的基础部分。其他监听器通过总结或者聚合方式展示信息。

所有的监听器都保存同样的数据,唯一的区别就是如何展示它们。

  • 定时器

默认情况下,JMeter线程在发送请求之间没有间歇。建议为线程组添加某种定时器,以便设定请求之间应该间隔多长时间。如果不设定这种延迟,JMeter可能会在短时间内产生大师访问请求,导致服务器被大量请求所淹没。

定时器会让作用域内的每一个采样器都在执行前等待一个固定时长。如果用户为线程组添加了多个定时器,那么JMeter会将这些定时器的时长叠加起来,共同影响作用域范围内的采样器。定时器可以作为采样器或者逻辑控制器的子项,目的是只影响作用域内的采样器。

  • 断言

用户可以使用断言来检查从服务器获得的响应内容。通过断言可以测试服务器返回的响应与测试人员的期望是否相符。

例如,测试人员可以断言某个查询的响应中包含特定的文字信息,也可以使用Perl格式的正则表达式来描述响应中应该包含的文字,或者它应该与整个响应相符。

断言会影响作用域内的所有采样器。如果要让断言只影响某个采样器,需要将断言作为该采样器的子项。

如果要查看断言结果,可以为线程组添加『断言结果』监听器。失败的断言,也会在『查看结果树』和『用表格查看结果』两种监听器中显示。另外『Summary Report』和『聚合报告』中还会以错误百分率的形式统计。

  • 配置元件

配置元件可以添加或者修改请求。配置元件仅对其所在的测试分支有效。

相比父分支的配置元件,子分支内部的配置元件优先级更高。

  • 前置处理器

前置处理器会在采样器发生请求之前做一些特殊操作。如果前置处理器附着在某个采样器之下,那么它只会在该采样器运行之前执行。前置处理器通常用于在采样器发出请求前修改采样器的某些设置,或者更新某些变量的值(这些变量不在服务器响应中获取值)。

  • 后置处理器

后置处理器会在采样器发出请求之后做一些特殊的操作。如果后置处理器附着在某个采样器之下,那么它只会在该采样器运行之后执行。后置处理器通常用来处理服务器的响应数据,特别是服务器响应中提取数据。

JMeter常用测试元件—学习笔记的更多相关文章

  1. JMeter学习笔记--JMeter常用测试元件

    JMeter测试计划有一个被称为“函数测试模式”的选项,如果被选择,它会使Jmeter记录来自服务器返回的每个取样的数据.如果你在测试监听器中选择一个文件,这个数据将被写入文件.如果你尝试一个较小的测 ...

  2. jmeter常用测试元件

    1.线程组 线程组是任何测试计划的起点,所有的逻辑控制器和采样器都必须放在线程组下.其他的测试元件(例如监听器)可以直接放在测试计划下,这些测试元件对所有的线程组都生效. 每一个JMeter线程都会完 ...

  3. docker常用命令,学习笔记

    - 常用命令 https://docs.docker.com images > docker images # 查看本地镜像 > docker images -a # 查看所(含中间镜像层 ...

  4. Java中关于 ArrayList 和 Map 的常用遍历方法 (学习笔记,便于以后查询)

    一.学习ArrayList与Map时,关于常用遍历方法的记录如下:  二.附源码如下: package com.study.in.myself; import java.util.ArrayList; ...

  5. 工作中常用Lixu命令学习笔记

    对于Linux,我是菜鸟,也是在工作中了才开始慢慢接触,用Linux的人都我都会觉得屌屌的,现在把工作中常用的一些Linux命令记录一下,供以后学习和参考. cd 这可能是我觉得Linux最简单的一个 ...

  6. Miller_Rabin素数测试【学习笔记】

    引语:在数论中,对于素数的研究一直就很多,素数测试的方法也是非常多,如埃式筛法,6N±1法,或者直接暴力判(试除法).但是如果要判断比较大的数是否为素数,那么传统的试除法和筛法都不再适用.所以我们需要 ...

  7. Linux常用命令(学习笔记)

    命令编写以遇到的生产问题的前后为顺序进行记录 虚拟机的镜像是centos6.5版本,在这个版本下,我个人整理记录了一些在linux上常用的命令以及一些项目部署需要的jdk.tomcat.mysql等的 ...

  8. 三、jmeter常用的元件及组件

    一.HTTP cookie Manager 用来储浏览器产生的用户信息,Stepping Thread Group 可用于模拟阶梯加压! 二.HTTP Cache Manager 缓存管理器(模拟浏览 ...

  9. 测试servlet学习笔记

    操作方法: 1.新建工程: File——>new——>Java Project——>TestServlet(工程名称)——>Finish. 2.加载servlet-api.ja ...

随机推荐

  1. Python模块和包

    模块和包是python组织代码的基本方式. 模块: python的每一个脚本文件都可称之为模块,模块的名称就是脚本的文件名.例如当我们写了一个test.py的脚本文件,则可以在同目录下的另外一个脚本m ...

  2. PPT图片双屏抽奖系统现场主要操作流程介绍

    目录 第一步:前期准备工作 第二步:现场预备与辅助展示工作 第三步:现场正式抽取工作 PPT图片双屏抽奖系统-现场抽奖视频实录 第一步:前期准备工作 把第二个步骤优化处理制作好的PPT文件 [图片.p ...

  3. ASP.NET MVC EF 中使用异步控制器

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精   为什么使用异步操作/线程池 ASP.NET MVC ...

  4. neXtep 安装过程整理

    1 授权root用户远程登录 2  文件下载 http://www.nextep-softwares.com/ 选择DOWNLOAD NOW 选择你需要的版本 我选择的版本是 neXtep.1.0.7 ...

  5. 深入了解DSP与ARM的区别与联系

    http://www.eeboard.com/bbs/thread-25219-1-1.html ARM微处理器的体系结构 了解DSP的体系结构 深入了解DSP与ARM的区别与联系 2011-09-3 ...

  6. 屌丝程序员的梦想 (二) 屌丝IT梦开始地方

    校区的周围有很多的网吧,一个对电子游戏迷恋了许久的青少年来说,那绝对是不可不去的地方,键盘,鼠标,显示器,那一切看起来都那么完美,那么似曾相识,是啊,魂牵梦绕的IT梦...哦..当时那只是电子游戏梦. ...

  7. android 案例二 登录界面

    效果图: 运行图:   总结: 编写这个简单的用户登录界面,主要用到了以下的知识:   java基础中的IO流的操作 用以读取.显示用户的信息 Android布局 线性布局和相对布局 数据的存储选在包 ...

  8. ubuntu配置NFS

    ubuntu配置NFS: sudo apt-get install nfs-kernel-server 配置/etc/exports 例如:我们要将根目录下的 /opt/FriendlyARM/min ...

  9. Java Thread 多线程 介绍

    1.线程概述 几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程. 当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程. 2.线程 ...

  10. 关于UIView的显示问题

    今天在倒腾PP助手SDK的接入,游戏框架使用的是cocos2d-x,因为不熟悉iOS的UIKit,所以费了点功夫终于让SDK的登录页面显示出来了,问题来了,在iOS设备landscape显示模式UI显 ...