4、Jmeter组件

Jmeter提供了许多不同的组件,每一种组件都实现某类功能,用于支持性能测试的实施。jmeter核心组件构成如下图:

 

学习、研究 jmeter 之前,深入了解 jmeter 的基本组件及其作用是必须的。接下来我们开始讨论基于 jmetere 进行性能测试必须掌握的组件,以便大家逐步掌握 jemter 的核心基本能力。下面的几个组件是入门 jmeter 必须掌握的:

  • Thread Group(线程组)
  • Samplers
  • Listeners(监听器)
  • Configuration

Thread Group(线程组)

线程组是一系列线程的集合,每一个线程代表着一个正在使用应用程序的用户。在 jmeter 中,每个线程意味着模拟一个真实用户向服务器发起请求。

在 jmeter 中,线程组组件运行用户设置线程数量、初始化方式等等配置。例如,如果你设置线程数为 100,那么 jmeter 将创建并模拟测试100 个用户请求到服务器端。

如下图所示:

 

 Samplers

我们常用的 jmeter 测试有 HTTP、FTP、JDBC 协议,以及其他各种支持的协议。

在 jmeter 中 Samplers 组件已经实现了哪些协议的支持。如下图所示:

 

 

  • BeanShell Sampler

  这个组件元素允许我们在 jmeter 中写 Bean Shell 脚本,写这个脚本有什么作用?意味着你可以完全的控制和实现自己的需要。灵活定制,自然也就有难度,你得有点脚本功底。

  参见图说明:

 

 注:每一个 Sampler 都有自己独立的 beanshell 解析器,并且sampler 只能在自己的线程中调用(意味着不可跨线程使用)。

  • FTP Request

  FTP Request 元素提供了测试 ftp 服务器的能力,这个元素让我们能够去测试 ftp 的上传、下载功能。下面我们看一下 ftp 元素的基本配置说明:

 

 

注:我们经常在 windows 和 linux 直接通过 ftp 进行文件传输,建议勾选 Use Binary Mode,避免编码问题。

  • HTTP Request

   HTTP Request 提供了 HTTP/HTTPS 协议的测试支持能力。了解下基本的功能。

 

 示例:

 

 

  • Java Request

  Java Request 提供了测试 java API 的支持,但要注意要测试的
  java API 需要有对应的测试类,该测试类必须继承AbstractJavaSamplerClient。
  示例如下:
  待测类 class Sum; -> 生成 sum.jar
  继承至 AbstractJavaSamplerClient 的测试类 Class
  TestSum(AbstractJavaSamplerClient) -> 生成 testSum.jar
  ==注:==
  一个 java 测试应该要实现以下几个方法,以便 jmeter java sampler 可以正确调用:

 

 注意 testSum.jar 要能调用 sum.jar。将上述 sum.jar、testSum.jar 拷贝至 jmeter 安装目录的 lib/ext下。

 

 

  • Listeners( 监听器) 

  在 jmeter 中 Listeners 提供了执行结果生成和显示能力的支持,提供了树形结构、表、图形和日志方式。下面我们先看下几种结果显示示例图。

  图形模式:

 

 

 

 树模式:

 

 

 

 表模式:

 

 

 

 日志方式:

 

 

  • Configuration Elements( 即配置元件) 

  配置元件包含了 Samplers 下各种 Sampler 的默认配置设置,如果有配置默认配置,在 Sampler 下对应的 sampler 就会使用该默认配置。

  下面我们看看我们主要用到的默认配置有哪些。

 

 下面进行逐一的说明。
CSV Data Set Config
CSV Data Set Config 主要用于读取 csv 格式的文件中数据,实现参数化。

 

示例:

 

 

 HTTP Cookie Manager
HTTP Cookie Manager 主要用于默认 cookie 管理。

 

 HTTP Request Defaults
HTTP Request Defaults 用于配置 HTTP request 的默认值,例如 IP、端口等等都设置好默认值后,在后续 HTTPrequest 元素里就不需要重复设置,节省时间。

 

 总结:本次就 jmeter 常用的相关组件元素进行了大概的说明,以便大家有个基本的了解,为后续深入学习和实践打下基础。

 

posted @ 2020-07-08 14:49  今天也不迟  阅读(106)  评论(0)    收藏  举报