工具篇 - JMeter组件手册04

前言

在jmeter中提供了一系列的不同的组件,每一种组件都提供了某类功能的实现,用于支持性能测试的实施。

请看下图,jmeter的核心组件构成。

工具篇 - JMeter组件手册04_第1张图片
41.png

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

下面的几个组件是入门jmeter必须掌握的:

  • Thread Group
  • Samplers
  • Listeners
  • Configuration

Thread Group(线程组)

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

在jmeter中,线程组组件运行用户设置线程数量、初始化方式等等配置。

例如,如果你设置线程数为100,那么jmeter将创建并模拟测试100个用户请求到服务器端。

如下图所示:

工具篇 - JMeter组件手册04_第2张图片
42.png

Samplers

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

在上节我们已经知道线程组件用于模拟用户请求至服务器端。

但还未讲解如何在线程组件中实现某种请求类型(比如如何发起HTTP请求?)。

在本节中,我们将演示如何利用Samplers组件的元素来实现各类请求类型。

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

工具篇 - JMeter组件手册04_第3张图片
43.png

下面我们就重要的Samplers组件元素进行一一讲解,以便大家有个初步的了解。

  • BeanShell Sampler

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

参见图说明:

工具篇 - JMeter组件手册04_第4张图片
44.png

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

  • FTP Request

FTP Request元素提供了测试ftp服务器的能力,这个元素让我们能够去测试ftp的上传、下载功能。

下面我们看一下ftp元素的基本配置说明:

工具篇 - JMeter组件手册04_第5张图片
45.png

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

  • HTTP Request

HTTP Request提供了HTTP/HTTPS协议的测试支持能力。

下面我们一起看看HTTP Request元素的基本配置说明,了解下基本的功能。

工具篇 - JMeter组件手册04_第6张图片
46.png
  • Java Request

Java Request提供了测试java API的支持,但要注意要测试的java API需要有对应的测试类,该测试类必须继承AbstractJavaSamplerClient。
示例如下:

待测类class Sum; -> 生成sum.jar

继承至AbstractJavaSamplerClient的测试类Class TestSum(AbstractJavaSamplerClient) -> 生成testSum.jar

==注:==

一个java测试应该要实现以下几个方法,以便jmeter java sampler可以正确调用:

工具篇 - JMeter组件手册04_第7张图片
416.png

更详细的后续出专题讲解,本篇不举具体示例了。

注意testSum.jar要能调用sum.jar。

将上述sum.jar、testSum.jar拷贝至jmeter安装目录的lib/ext下。

下面我们看看如何在jmeter配置java测试。

工具篇 - JMeter组件手册04_第8张图片
47.png

对于JDBC Request、JMS Point-to-Point、JSR223、SMTP、JUnit Request等Sampler组件元素就不一一说明了在后续的分享中,主要基于HTTP和java请求来分享实战。

Listeners(监听器)

在jmeter中Listeners提供了执行结果生成和显示能力的支持,提供了树形结构、表、图形和日志方式。

下面我们先看下几种结果显示示例图。

图形模式:

工具篇 - JMeter组件手册04_第9张图片
48.png

树模式:


工具篇 - JMeter组件手册04_第10张图片
49.png

表模式:

工具篇 - JMeter组件手册04_第11张图片
410.png

日志方式

工具篇 - JMeter组件手册04_第12张图片
411.png

Configuration Elements(即配置元件)

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

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

工具篇 - JMeter组件手册04_第13张图片
417.png

下面进行逐一的说明。

  • CSV Data Set Config
    CSV Data Set Config主要用于读取csv格式的文件中数据,实现参数化。
工具篇 - JMeter组件手册04_第14张图片
413.png
  • HTTP Cookie Manager
    HTTP Cookie Manager主要用于默认cookie管理。
工具篇 - JMeter组件手册04_第15张图片
414.png
  • HTTP Request Defaults
    HTTP Request Defaults用于配置HTTP request的默认值,例如IP、端口等等都设置好默认值后,在后续HTTP request元素里就不需要重复设置,节省时间。
工具篇 - JMeter组件手册04_第16张图片
415.png

总结

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

你可能感兴趣的:(工具篇 - JMeter组件手册04)