Jmeter体系架构分析

今天我们来对Jmeter的体系架构做一个整体的介绍,关于每个组件的详细使用场景介绍,已经以项目的维度进行了分享,请关注前期分享的内容。

Jmeter体系结构主要分为以下几部分:

逻辑控制器

配置元件

定时器

前置处理器

Sampler

后置处理器

断言

监听器

接下来我们对每个组件进行主要功能分析

01

逻辑控制器

Jmeter逻辑控制器主要对组件的执行逻辑进行控制,常用的组件如下

(1) 仅一次控制器

如果把请求的组件放到该控制器下面,那么此组件只运行一次。应用到我们工作的场景把登录放到该场景下,实现只登录一次就可以完成全部的业务在退出。避免重复登录的场景

(2) 循环控制器

用来控制组件下面的循环次数,用来执行重复的操作

(3) 如果(If)控制器

条件控制器,通过某个条件来控制此组件是否允许运行,该组件需要配合其它参数来结合使用,常用的是场景是,判断是否登录成功,登录成功后,就继续运行,否则就停止

(4) 事务控制器

用来统计事务的响应时间的,统计该组件下的所有请求的累计时间,也记录单个请求的时间,但是只有所有请求都运行成功,整个事务才算成功。

02

配置元件

该组件主要用于为后面的接口请求提供初始化数据,或者基础信息配置,从功能分布上来看,该组件的所有元件信息都具备数据共享和信息共享的特质,常用组件如下

(1) CSV Data Set Config(提供大批量的数据测试)

主要用来实现从文本文件,xml文件,excel文件中读取数据,然后把读取到的数据运用到我们的请求中

(2) HTTP Cookie 管理器

主要用于管理cookie信息并实现cookie信息共享

(3) HTTP请求默认值

在工作中我们常常遇到请求地址和接口相同的场景,单个的设置会浪费比较多时间,所以我们就可以使用该组件。把相同的IP地址,端口信息,地址信息填写到该组件,就可以避免重复填写的场景

(4) Java请求默认值

我们编写的脚本时,避免不了需要调试参数的正确性,使用该组件是个不错的选择

(5) 用户定义的变量

把通用的参数信息定义在该组件下面,实现全局共享的目的,该组件需要结果函数助手来使用,关于函数助手的使用,前期分享的内容有介绍,请关注前期的内容

03

定时器

定时器我们常常用来设置同步及延长,或者思考时间,达到模拟的业务场景更加接近客户使用习惯的目的,常用的组件介绍

(1) Synchronizing Timer

用于设置线程同步的时间,即集合点。实现多用户在一个时间点并发的场景

(2) 固定定时器

设置固定的等待时间,用来模拟思考时间

04

前置处理器

该组件也是用来处理请求前的准备工作的,如环境变量,参数设置等,常用组件介绍

(1) RegEx User Parameters

正则表示式,用来提取服务器的响应数据。使用场景:

把提取到的数据用于后期请求的引用

(2) 用户参数

用户可以利用此组件进行参数定义,对于请求中动态参数引用该变量

05

Sampler

这个组件是我们接口测试核心内容,也是帮我们提交请求和实现请求,下面来介绍常用组件

(1) Debug Sampler

用于调试脚本,看脚本是否按照我们的需求运行和响应数据的正确性

(2) FTP请求

用于实现文件的上传和下载

(3) JDBC请求

主要用于对数据库进行连接及测试,实现数据库的查询,修改,删除,插入等操作

(4) HTTP请求

主要用于实现HTTP请求的请求,文件和图片上传等

06

后置处理器

有很多测试场景中,我们后面的请求需要用到前一个请求的响应数据,所以我们需要对响应做处理,方面后续请求的引用,就需要使用该功能下的组件,介绍常用的组件

(1) JDBC PostProcessor

用于还原对数据库的操作,需要配合JDBC Request来使用

(2) Result Status Action Handler

针对单个请求失败后,设置处理方法,是继续还是停止

(3) 正则表达式提取器

用于提取服务器响应的内容,方面于后续的请求引用,实现业务的前后关联

07

断言

该组件用来对服务器响应内容的验证,即验证是否符合我们的预期结果,常用组件介绍

(1) Compare Assertion

用于比较2次的断言结果

(2) HTML Assertion

对响应内容为HTML格式的内容进行验证

(3) 响应断言

适用用于所有的请求预期结果的判断

08

监听器

该组件用来监听和显示请求的运行结果,并对结果进行保存,常用组件介绍

(1) 察看结果树

用来查看运行结果的,包括请求内容及响应的内容

(2) 断言结果

设置显示断言的结果

(3) 用表格察看结果

用表格查看运行的结果,该数据可以进行保存,方便我们的分析

(4) 聚合报告

用来收集压力测试时的相关数据,并保存。收集的内容可设置

到此今天分享的内容就结束了,只对常用的组件做了介绍,没有介绍全部的组件内容,请知悉。如果小伙伴在工作中用到好用的组件,欢迎来分享,谢谢

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180126G05ZH100?refer=cp_1026

同媒体快讯

  • Jmeter连接数据库

    2018-10-16

相关快讯

扫码关注云+社区