前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >工具篇 - JMeter组件手册04

工具篇 - JMeter组件手册04

作者头像
苦叶子
发布2018-04-04 16:15:54
1.4K0
发布2018-04-04 16:15:54
举报
文章被收录于专栏:开源优测开源优测
前言

在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常用的相关组件元素进行了大概的说明,以便大家有个基本的了解,为后续深入学习和实践打下基础。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源优测 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Thread Group(线程组)
  • Samplers
  • Listeners(监听器)
  • Configuration Elements(即配置元件)
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档