再不点上方蓝字↑测试老树”关注,机会就要飞走了哦~

此为开篇,介绍JMeter的组成结构,阅读后对JMeter形成整体认知和初步印象。为了便于后续讲解,先明确下2个术语。元件:如HTTP请求、事务控制器、响应断言,就是一个元件。组件:如逻辑控制器,就是组件。组件中包含一个或多个元件。大的叫组件,小的叫元件,也没那么严谨,你想叫控件都行。先以组件的维度,看一下JMeter结构图:X、Y、Z形成了一个三维立体空间。X1~X5表示的是:5个模拟过程。Y1表示的是:用户请求。Y2表示的是:结果验证。Z表示的是:结果收集。

X1【取样器】

通过访问 测试计划|线程组|取样器 添加 Sampler。可以把它看做是一个没有界面的浏览器,可以发送请求,接收响应。支持HTTP请求、WebService请求(SOAP/XML-RPC)、Java请求等。涵盖了协议包括HTTP、FTP、JAVA、LDAP、MAIL、MongoDB、SMTP、SOAP、TCP、Junit等。还能写BeanShell脚本,一种类似Java的脚本开发语言。

X1【断言】

通过 测试计划|断言 添加 Assertions。线程组也能添加断言。一般用响应断言(Response Assertion)比较多。可以写BeanShell实现自定义复杂断言。

X1【监听器】

通过 测试计划|监听器 添加 Listener。线程组也可以添加监听器。可以用于展示结果。如察看结果树(View Results True),查看每次请求和响应。聚合报告(Aggregate Report),类似测试报告。另外,也可以把测试结果数据保存到文件,供再次分析使用。

X2【前置处理器】

通过 测试计划|前置处理器 添加 Pre Processors。线程组也可以添加前置处理器。在发送请求前,需要做一些环境或数据准备,就需要用前置处理器。比如对数据库操作前,需要先建立数据库连接。

X2【配置元件】

可以通过 测试计划|配置元件 添加 Config Element。线程组也可以添加配置元件。它的作用是,为取样器提供配置数据。比如使用 CSV Data Set Config,从文件中读取测试数据。比如使用函数(函数助手)生成动态数据。比如使用HTTP Cookie Manager,自动记录服务器返回的Cookie信息。比如使用User Defined Variables,预置一些初始化变量。

X2【后置处理器】

可以通过 测试计划|后置处理器 添加 Post Processors。线程组也可以添加后置处理器。它的作用是处理响应数据。比如正则表达式提取器(Regular Expression Extractor),使用正则表达式来匹配响应结果,提取部分数据。

X3【逻辑控制器】

可以通过 测试计划|线程组|逻辑控制器 添加 Logic Controller。它用来对处理逻辑进行控制。比如只登陆一次,可以用 Once Only Controller 来实现。

X4【定时器】

可以通过 测试计划|线程组|定时器 添加 Timer。它用来设定等待时间。比如等待5秒后再发送请求。比如让多个请求等待到同一时刻发送。不同定时器有不同功能。

X5【线程组】

可以通过 测试计划|线程组 添加 Threads(Users)。Threads(Users),既是Thread,也是User。JMeter一个线程模拟一个用户。

Test Fragment

可以通过 测试计划|Test Fragment 添加。线程组也可以添加。可用于临时备份元件,Test Fragment下的元件不会被运行。封装后可被模块控制器调用,就像编程一样。

简要回顾

本文通过JMeter结构图展开。取样器、断言、监听器组合在一起就可以完成发送请求、验证结果和记录结果。前置处理器、配置元件、后置处理器都是为取样器提供数据支持的。逻辑控制器可以实现各种需求。定时器可以设置集合点和等待时间等。JMeter是用线程组来模拟的,一个线程就是一个用户。Test Fragment可以用来备份元件,底下的元件不会被运行。参考资料《全栈性能测试修炼宝典JMeter实战》下一篇《JMeter实战(二) 运行原理》#热门话题

Python

pytest封神之路

三道题加油站

测开成长故事

JMeter实战

Vue+SpringBoot

docker

Go编程

单元测试

如果你觉得这篇文章写的还不错的话,关注公众号,你的支持就是我写文章的最大动力。

全栈性能测试修炼宝典jmeter实战电子版_JMeter实战(一) 体系结构相关推荐

  1. 全栈性能测试修炼宝典jmeter实战电子版_推荐一款技术人必备的接口测试神器:Apifox...

    开课通知:重磅消息 | 2020年最新全栈测试开发技能实战指南(第1期) 1. 背景 作为互联网行业技术从业者,接口调试是必不可少的一项技能,通常我们都会选择使用 Postman 这类工具来进行接口调 ...

  2. 全栈工程师修炼指南 - 学习/实践

    1.介绍 TBD 2.应用背景 TBD 3.学习 参考: https://xueyuanjun.com/books/php-fullstack 后续补充 ... 4.推荐书籍 TBD 5.学习体会 T ...

  3. APP全栈工程师修炼之路(三)

    第三章 数据库设计         从本章开始,我们将真正的开始进入全栈之路.因为全栈工程师不需要对某种技术有着深入的研究,所以本书不会深入探讨技术细节,只注重产品的设计与开发. 3.1 MySql概 ...

  4. APP全栈工程师修炼之路(一)

    第一章 全栈导论 1.1 概述 全栈工程师,也叫全端工程师,英文名Full Stack developer.是指掌握多种技能,并能利用各种技能独立完成产品的人.全栈工程师按照产品的类型不同又分为:We ...

  5. APP全栈工程师修炼之路(二)

    第二章 APP开发步骤         一个完整的APP开发流程,我们可以用图1表示: 2.1 需求分析         这个阶段,我们需要根据客户提出的需求进行分析.对于比较专业的客户,可能会有详细 ...

  6. 全栈性能测试教程之性能测试理论(一) mockserver应用

    1.mockServer 1.1什么是mockServer moco=替代     Server=服务 mocoServer即为测试替身的服务 主要针对于单元测试的应用,主要应用于解除单元测试之间的依 ...

  7. 全栈修炼之路,很漫长…

    虽然目前并没有对全栈工程师有一个具体的定义,不知道自己是否合格. 大势所趋的全栈开发.首先你能够配置全站开发的环境和工作流程,操作数据库,建立后端服务API,独立开发前端,从而开发一个包含前后端的完整 ...

  8. 你真的理解什么是全栈开发吗?

    提起"全栈工程师",你最先想到的是什么?大神?全能?还是无用? 许多人对全栈的评价褒贬不一,不同人的理解也天差地别.有些人以为全栈是中小公司鼓吹的,有些人觉得大厂才招全栈,那么全栈 ...

  9. 全栈之路-前端篇 | 第三讲.基础前置知识【前端标准与研发工具】学习笔记

    欢迎关注「全栈工程师修炼指南」公众号 点击

最新文章

  1. intellij idea 如何一键清除所有断点
  2. ubuntu修改启动为文本模式
  3. Some Essential JavaScript Questions And Answers(3)
  4. C++工作笔记-map有自动排序的功能
  5. 程序导致IIS服务器应用程序池停止
  6. jquery checkbox 操作
  7. VS转换到 COFF 期间失败 文件无效或损坏
  8. dell vfoglight
  9. Spark 概念学习系列之从物理执行的角度透视spark Job(十七)
  10. JavaWeb POI 导出Excel
  11. 【运维心得】只有百度能打开,其他页面打不开怎么办?
  12. 《缠中说禅108课》32:走势的当下与投资者的思维方式
  13. 欧几里得变换(Euclidean transformation)详解
  14. python设置颜色_使用python改变颜色的色调
  15. 如何使用轻量应用服务器搭建高颜值的YesPlayMusic网易云播放器
  16. ORA-00923: 未找到要求的FROM关键字
  17. 【CISSP备考】考前情报收集
  18. 用Google Analytics监控营销邮件打开率
  19. 集体备课模板_集体备课模板
  20. Python计算向量夹角:详解向量的定义、向量点乘、向量模长和余弦定理,教你用Python代码实现向量夹角的计算。

热门文章

  1. linux的一些软件的安装路径
  2. Linux 命令(134)—— groupmod 命令
  3. 经典算法——单向链表反转
  4. 有向无环图中的拓扑排序
  5. arguments的理解
  6. STM32F0xx_FLASH编程(片内)配置详细过程
  7. JSON与XML优缺点对比分析
  8. 软件工程期末考试 AHNU
  9. 使用 IntraWeb (4) - 页面布局之 TIWRegion
  10. 在远程系统上开发 SharePoint 应用程序