JMeter:【Test Plan】→【Thread Group】:八大元器件

目录

线程组【Threads(User)】

1、取样器

2、断言

3、监听器

总结:

4、前置处理器

5、配置元件

6、后置处理器

总结:

7、控制器

8、定时器

【Test Fragment】:测试片段

【Non -Test Elements】:非测试元件



 

线程组【Threads(User)】

  • 性能测试需要模拟大量用户负载情况,线程组就是用来完成这个工作的,在此元件中我们可以设置运行的线程数(就是模拟多少用户,一线程一用户)
  • 处理设置线程数以外,还可以设置运行时长,定时运行等
  • 第三方插件(JMeter Plugin)的扩展也让JMeter的场景更加丰富
  • 业务中的一个模块,就相当于一个线程组
  • 访问路径:【Test  Plan】→【Threads(Users)】

JMeter:【Test Plan】→【Thread Group】:八大元器件

1、取样器

  • 取样器是什么
    • 用来模拟用户操作,向服务器(被测试系统)发出HTTP请求、WebService(SOAP/XML-RPC Request)请求或者Java请求等,可以把HTTP请求元件,看作是一个没有界面的请求,它可以发送HTTP请求,接受服务器的相应数据
  • 取样器访问路径:【Test Plan】→【Thread Group】→【Sampler】

JMeter:【Test Plan】→【Thread Group】:八大元器件

2、断言

  • 断言是什么
    • 断言是用来验证结果是否正确,可以帮助我们来判断请求是否返回切实符合要求,简单来说就是用一个预设的结果(值、表达式、时间长短等条件)与实际结果匹配,匹配到成功,反之失败
  • 断言路径:【Test Plan】→【Thread Group】→【Assertions】

JMeter:【Test Plan】→【Thread Group】:八大元器件

3、监听器

  • 监听器是什么
    • JMeter的测试结果需要添加监听器来收集,JMeter结果收集程序的设计模式就是监听器模式
  • 监听器的两个任务
    • 添加结果监听,并且可以保存测试结果到文件,这些结果数据可以供再次分析使用
    • 展示结果,JMeter可以表格及图形的形式展示结果,方便测试人员分析测试结果,在开发测试脚本时,不可避免需要调试,监听器也提供辅助(比如查看结果树:可以看到请求和相应数据)
  • 监听器路径:【Test Plan】→【Thread Group】→【Listener】

JMeter:【Test Plan】→【Thread Group】:八大元器件

总结:

  • 【取样器】→【断言】→【监听器】组合在一起就可以帮助我们完成发送请求,验证结果及记录结果三项工作

4、前置处理器

  • 前置处理器的作用
    • 在测试脚本开发过程中,我们在请求发送前可能会做一些环境或者蚕食的准备工作,那我们可以在前置处理器中来完成这些工作。
    • 比如:在对数据库进行操作前需要先建立一个数据库连接,那么前置处理器就可以完成这个功能
  • 前置处理器路径:【Test Plan】→【Thread Group】→【Pre Processors】

JMeter:【Test Plan】→【Thread Group】:八大元器件

5、配置元件

  • 配置元件的作用
    • 性能测试中需要模拟大量的用户操作,我们往往需要做参数化,JMeter的参数化可以通过配置员元件来完成
    • 比如:1、CSV Data Set Config ,它可以帮助我们从文件中读取测试数据
    •            2、JMeter也提供众多的函数来帮助我们生成动态数据
    •            3、记录服务器的返回数据:比如HTTP Cache Manager,自动记录服务器返回的Cache信息
  • 配置元件路径:【Test Plan】→【Thread Group】→【Config Element】

JMeter:【Test Plan】→【Thread Group】:八大元器件

6、后置处理器

  • 后置处理器的作用
    • 后置处理器是专门用来对响应数据做处理的元件,JMeter的关联就是通过后置处理器完成的
    • 后置处理器一般放在Sample之后,用来处理服务器的返回结果;比如:登录网页返回Session ID,这个Session ID登录后的业务操作过程中会作为验证条件;如何提取这个Session ID,就要用到后置处理器(比如:正则表达式提取器,他支持正则表达式的方式来提取数据)
  • 后置处理器路径:【Test Plan】→【Thread Group】→【Post Processors】

JMeter:【Test Plan】→【Thread Group】:八大元器件

总结:

  • 【Pre Processors】、【Config Element】、【Post Processors】都是为取样器提供数据支持的,取样器关注的是业务逻辑

7、控制器

  • 控制器的作用
    • 和业务逻辑配合使用,能完成各种需求
  • 控制器访问路径:【Test Plan】→【Thread Group】→【Logic Controller】

JMeter:【Test Plan】→【Thread Group】:八大元器件

8、定时器

  • 定时器的作用
    • 为了能够真实的模拟用户负载,我们有时会模拟这些请求在同一刻发送;这时就用到了定时器
    • 定时器的种类很多,需要和业务配合使用
  • 定时器路径:【Test Plan】→【Thread Group】→【Timer】

JMeter:【Test Plan】→【Thread Group】:八大元器件

【Test Fragment】:测试片段

  • 【Test Fraglment】是一个辅助的组件,在此节点下几乎可以防止任何JMeter测试元件,但一般不会运行,那他有什么作用
    • 1、在脚本开发过程中可以用来备份元件
    • 2、【Test Fraglment】下分元件可以被模块控制器调用,我们可以利用它来模块化请求(是不是有点开发程序的味道?把一个业务封装成一个方法供复用)供模块控制器调用
  • 访问路径:【Test Plan】→【Test Fraglment】
  • 线程组中也有此模块

JMeter:【Test Plan】→【Thread Group】:八大元器件

【Non -Test Elements】:非测试元件

  • 【Non -Test Elements】:非测试元件,不直接参与运行
    • 【Non -Test Elements】→【HTTP Mirror Server】:服务器监控,不建议用此功能来做测试监控,主要是避免对JMeter负载产生影响
    • 【Non -Test Elements】→【HTTP(s)  Test Script Recorder】:HTTP代理服务器,设置代理信息后,进行录制
    • 【Non -Test Elements】→【Property Display】:显示当前JMeter属性信息

JMeter:【Test Plan】→【Thread Group】:八大元器件