查看原文
其他

工具篇 - JMeter组件手册04

苦叶子 开源优测 2022-11-13


 

前言

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

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

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

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

  • Thread Group

  • Samplers

  • Listeners

  • Configuration

Thread Group(线程组)

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

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

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

如下图所示:

Samplers

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

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

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

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

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

下面我们就重要的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协议的测试支持能力。

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

  • Java Request

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

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

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

注:

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

方法说明
Arguments getDefaultParameters()用于获取jmeter java sampler传入的测试数据
SampleResult runTest(JavaSamplerContext arg0)测试事务处理
void setupTest(JavaSamplerContext arg0)初始化
void teardownTest(JavaSamplerContext arg0)清理

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

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

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

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

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

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、端口等等都设置好默认值后,在后续HTTP request元素里就不需要重复设置,节省时间。

总结

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


更多精彩:

  1. 工具篇 - JMeter之旅01

  2. 工具篇 - JMeter目录及关键配置分析02

  3. webdriver介绍&与Selenium RC的比较

  4. Python Selenium Webdriver安装手册

  5. 创建你的第一个webdriver python代码

  6. 基于Excel参数化你的Selenium2测试

  7. Python Selenium设计模式-POM

  8. Python多线程Selenium跨浏览器测试

  9. python selenium2示例 - 生成 HTMLTestRunner 测试报告

Hello,伙伴们长按二维码关注我们吧!


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存