百度了一下Jmeter初学,看的晕晕乎乎的,也跟着做了两个跑着玩儿,看查看结果树的时候会有蛮多信息吐出来,像抓包一样,但是不懂用来干嘛,觉得还是得从头学,然后发现一个很详细的博客,刚开始看就好开心,初学者的福音啊,网址贴粗来:http://www.cnblogs.com/yangxia-test/p/3964881.html

边学边摘抄总结,哈哈哈

                 测试计划添加

①Threads:用来控制Jmeter并发时产生线程的数量,在它的下一级菜单下只有一个组件(线程组),可以这么理解每个线程就是一个虚拟的用户。所有的其他类型组件必须是(线程组)节点的子节点。

1)setup thread group

一种特殊类型的ThreadGroup的,可用于执行预测试操作。线程执行测试前进行定期线程组的执行。

setUp Thread Group类似于lr的init.可用于执行预测试操作。

2)teardown thread group.

一种特殊类型的ThreadGroup的,可用于执行测试后动作。线程执行测试结束后执行定期的线程组。

tearDown Thread Group类似于lr的end.可用于执行测试后动作。

3) thread group(线程组).

这个就是我们通常添加运行的线程。通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。

②Test Fragment(测试片段):控制器上的一个种特殊的线程组,不被执行,除非它是一个模块控制器或者是被控制器所引用时才会被执行。

配置元件:用于提供对静态数据配置的支持。CSV Data Set config 可以将本地数据文件形成数据池,而对应于HTTP Request Sampler和 TCP Request Sampler等类型的配制无件则可以修改 Sampler的默认数据。例如:

    HTTP Cookie Manager 可以用于对 HTTP Request Sampler 的 cookie 进行管理。

    HTTP 请求默认值不会触发Jmeter发送http请求,而只是定义HTTP请求的默认属性。

      元件会影响其作用范围内的所有元件。

和Sample组件一起工作,主要用来配置Sample如何来发起请求访问服务器,这个东西的主要特点是可以把一些Sample的共同配置放在一个元素里面方便管理,配置单元是有作用域的。作用域和树的那个关系一样越是上级节点的作用域越大,越是接近叶子节点的

作用域就越小,可以复写上级作用域的配置。

 

定时器:用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段。类似于LoadRunner里面的“思考时间”。 JMeter 定义了Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer。

      元件对其作用范围内的每一个sampler 有效

这个主要是用来调节(线程组),控制线程每次运行测试逻辑(比如说:发出请求)的时间间隔。当然这个下面还有很多类型的定时器,他们主要功能就是调节时间间隔,但个个组件之间的策略有很大不同。

前置处理器:在实际的请求发出之前对即将发出的请求进行特殊处理。例如,HTTP URL重写修复符则可以实现URL重写,当RUL中有sessionID 一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID 。

      元件在其作用范围内的每一个sampler元件之前执行。

后置处理器:对Sampler 发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。例如,XPath  Extractor 则可以用于提取响应数据中通过给定XPath 值获得的数据;正则表达式提取器,则可以提取响应数据中通过正则表达式获得的数据。

      元件在其作用范围内的每一个sampler元件之后执行。

前置处理器 和 后置处理器类似一个HOOK,在测试执行之前和执行之后执行一些脚本的逻辑。非重点组件。

 断言:检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。

      元件对其作用范围内的每一个sampler 元件执行后的结果执行校验。

意思是指对于Sample完成了请求发送之后,判断一下返回的结果是否满足期望。

 ⑧

监听器:对测试结果数据进行处理和可视化展示的一系列元件。 图形结果、查看结果树、聚合报告、用表格察看结果都是我们经常用到的元件。

      元件收集其作用范围的每一个sampler元件的信息并呈现。

这个组件不同于平时在Web编程的那种监听器,他是伴随着Jemeter测试的运行而从中抓取运行期间的数据的一个组件,经常使用的是聚合报告组件,从里面可以统计到测试的TPS,响应时间等关键测试数据。                                        

           

                线程组添加

逻辑控制器:包括两类无件,一类是用于控制test plan 中 sampler 节点发送请求的逻辑顺序的控制器,常用的有 如果(If)控制器 、 switch Controller 、Runtime Controller、循环控制器等。另一类是用来组织可控制 sampler 来节点的, 如 事务控制器、吞吐量控制器。

      逻辑控制器只对其子节点的取样器有效,而其它元件(config elements 、timers 、post-processors、assertions、listeners、)需要与取样器(sampler)等元件交互。

Sampler(取样器):是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler,每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同类型的请求。

          取样器是典型的不与其它元件发生交互作用的元件

Sample表示客户端发送某种格式或者规范的请求到服务端,所以大家看到了各种各样的Sample,其中有两个Http 相关的。一般用HttpClient功能和效率将更强。

工作组:在测试中我们可能需要暂时更改一些组件,可以把一些需要更改的组件保存在工作台中,测试完成后再恢复,但是切记:不能退出jmeter.一旦退出jmeter,工作台中的内容就会消失。

------------------------------------------元件作用域及执行顺序--------------------------------------------------

元件的作用域是靠测试计划的的树型结构中元件的父子关系来确定的,原则是:

  • 取样器(sampler)元件不和其它元件相互作用,因此不存在作用域的问题。
  • 逻辑控制器(Logic Controller)元件只对其子节点中的取样器 和 逻辑控制器作用。
  • 除取样器 和逻辑控制器 元件外,其他6类元件,如果是某个sampler的子节点,则该元件公对其父子节点起作用。
  • 除取样器和逻辑控制器元件外的其他6类元件,如果其父节点不是sampler ,则其作用域是该元件父节点下的其他所有后代节点(包括子节点,子节点的子节点等)。

2.元件的执行顺序:

(1)配置元件(config elements )

(2)前置处理程序(Per-processors)

(3)定时器(timers )

(4)取样器(Sampler)

(5)后置处理程序(Post-processors) (除非Sampler 得到的返回结果为空)。

(6)断言(Assertions)(除非Sampler 得到的返回结果为空)。

(7)监听器(Listeners)(除非Sampler 得到的返回结果为空)。

关于执行顺序,有三点需要注意:

*  前置处理器、后置处理器和断言等元件只能对 取样器作用,因此,如果在它们的作用域内没有任何取样器,则不会被执行。

*  如果在同一作用域范围内有多个同一类型的元件,则这些元件按照它们在测试计划中的上下顺序一次执行。

*  一个断言在测试树中是分等级的。如果它的父元件是请求,它就被应用于那个请求。如果它的父元件是控制器,它就影响所有那个控制器下的所有请求。

最后的最后,加上一个干货:

http://blog.csdn.net/chenleixing/article/details/43418185

over~~~

转载于:https://www.cnblogs.com/fellory/p/7495046.html

初学Jmeter的摘抄学习总结----------基础知识篇相关推荐

  1. Hadoop学习笔记—15.HBase框架学习(基础知识篇)

    Hadoop学习笔记-15.HBase框架学习(基础知识篇) HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase ...

  2. 设计模式学习笔记-基础知识篇

    1. 设计模式的重要性 1.1 设计模式解决的是在软件过程中如何来实现具体的软件功能.实现同一个功能的方法有很多,哪个设计容易扩展,容易复用,松耦合,可维护?设计模式指导我们找到最优方案. 1.2 设 ...

  3. SAP BW学习之基础知识篇

    目录 1.信息对象 2.原系统 3.数据源 4.转换 5.数据流 6.DTP 7.导航属性 8.DSO数据存储对象 (1)DSO的四种类型: (2)DSO和CUBE的区别: (3)数据存储: (4)创 ...

  4. python语言的单行注释以井号开头_推荐|零基础学习Python基础知识

    原标题:推荐|零基础学习Python基础知识 Python是一种面向对象.解释型计算机程序设计语言.语法简洁清晰,强制用空白符作为语句缩进. Python具有丰富和强大的库,又被称为胶水语言.能把其他 ...

  5. 关于图计算图学习的基础知识概览:前置知识点学习(PGL)[系列一]

    关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL)) 0.1图计算基本概念 首先看到百度百科定义: 图计算(Graph Processin ...

  6. 快速学习mysql_快速学习MySQL基础知识

    这篇文章主要梳理了 SQL 的基础用法,会涉及到以下方面内容: SQL大小写的规范 数据库的类型以及适用场景 SELECT 的执行过程 WHERE 使用规范 MySQL 中常见函数 子查询分类 如何选 ...

  7. 三 计算机知识的重要性分析,学习计算机基础知识对中专学生的重要性分析

    学习计算机基础知识对中专学生的重要性分析 [摘 要]本文主要介绍了计算机基础知识的内容,阐述了学习计算机基础知识对中专学生的作用,并且通过对计算机基础操作的学习,提高中专学生的计算机应用水平.希望本文 ...

  8. 谈计算机知识对学生的作用,浅谈学习计算机基础知识对中专学生的重要性

    [摘 要]本文主要介绍了计算机基础知识的内容,阐述了学习计算机基础知识对中专学生的作用,并且通过对计算机基础操作的学习,提高中专学生的计算机应用水平.希望本文可以让中专学生认识到学习计算机基础知识的重 ...

  9. 《机器学习》理论——速读学习1 基础知识

    <机器学习>理论--速读学习1 基础知识 该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! Time: 2021-12-05 学习目标:我需要了解神经网络除了工程 ...

  10. A.关于图计算图学习的基础知识概览:前置知识点学习(Paddle Graph L)【一】

    图学习图神经网络算法专栏简介:主要实现图游走模型(DeepWalk.node2vec):图神经网络算法(GCN.GAT.GraphSage),部分进阶 GNN 模型(UniMP标签传播.ERNIESa ...

最新文章

  1. pythonista3使用说明_pythonista3都能做什么
  2. Docker在服务器之间怎样导入导出镜像(服务器之间容器复制)
  3. 6个免费的C++图形和游戏库
  4. C语言文件操作(一)产生0~M范围内的N个随机数
  5. 快速排序的性能和名字一样优秀
  6. c语言函数大全 chm,【oeasy丨c语言丨函数】C语言库函数使用大全CHM版
  7. 微信小程序---实现弹窗效果
  8. 经常有人问我:我想招个会写文案的,可是好文案真的很难招,自己写吧,又不会……
  9. Python爬虫之(二)工具的使用
  10. iOS开发之跳转指定的tabbar控制器(二级页面跳转到指定的tabbar页面)
  11. font-family:中文字体的英文名称
  12. horizon 7 证书服务器,vmware horizon view 7.0 ssl证书设置方案
  13. .com域名好抢注吗?抢注.com域名有哪些技巧?
  14. 希腊字母在Vim 中的输入方法
  15. 上古卷轴5捏脸php导入,上古卷轴5捏脸预设导入 上古卷轴5捏脸预设怎么导入
  16. 技术领导力 程序员如何才能带团队 文摘 (三)
  17. NetworkManager的命令行工具nmcli
  18. 山世光:AI产业需要赋能平台
  19. Windows pytorch编译安装SoftPool
  20. 苹果股价两月累计跌25% 市值跌破5000亿

热门文章

  1. [WP8] Binding时,依照DataType来选择DataTemplate
  2. OsmocomBB编译及GSM嗅探问题(转)
  3. HDU 4283 You Are the One(区间DP)
  4. Maven—Eclipse设置Maven项目JDK版本
  5. Windows中安装Electron说明
  6. js已知文件路径得到file对象_Node之文件流与文件路径操作
  7. php form表单提交代码,PHP之表单的提交
  8. Jetbrains:设置ctrl+鼠标滚动控制代码字体大小
  9. jQuery:实现折叠菜单二级联动动画
  10. JavaScript:手写JSONP