您的位置:首页 > 其它

2. JMeter中非常重要的几个概念

2016-09-05 20:31 369 查看
在使用JMeter之前,需要搞懂下面这几个概念,这对JMeter的使用是非常重要的。

Test Plan

Thread Group

Controllers

Listeners

Timers

Assertions等 … …

1. Test Plan

Test Plan也就是测试计划,概念有点类似eclipse里面的project(项目、工程)。

一个JMeter测试计划有很多种测试元素组成。一般至少包含一个Thread Group(线程组),在每个Thread Group里面又可以包含Controller,Listener,Timer等等。

总结下,大体结构如下



更细化一点,差不多这样,



2. Thread Group

Thread Group就是线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。

3. Controllers

JMeter主要有两种类型的Controllers,Samplers和Logic Controllers。

Samplers

Samplers允许JMeter向server发送一系列的请求。她模拟了用户从页面想终端server发送请求的行为,比如新建一个HTTP的Sampler,可执行POST、GET、DELETE等请求。

一些常用的samplers主要有一下几种,



- HTTP Request

- FTP Request

- JDBC Request

- Java Request

- SOAP/XML Request

- RPC Request

Logic Controllers

Logic Controllers其实最主要的作用就是控制执行顺序。她可以用来控制sampler在一个线程中的执行顺序,也可以改变来自其他elements请求的顺序。典型的代表就是,IF Controller、While Controller等。

一些常用的Logic Controllers主要有一下几种,



Simple Controller

Loop Controller

Once Only Controller

Interleave Controller

Random Controller

Random Order Controller

Throughput Controller

Runtime Controller

If Controller

While Controller

Switch Controller

ForEach Controller

Module Controller

Include Controller

Transaction Controller

Recording Controller

4. Listeners

Listeners是我非常喜欢的一个功能,她可以让你看到samplers测试的结果,形式多样,包括表格、图标、树状或者是日志文件中的简单文本。在每次smaplers执行的时候,结果数据都会被收集在多样的Listeners中。

Listeners可以加在test plan下的任何地方,JMeter提供的Listeners主要包含以下几种,



- Sample Result Save Configuration

- Graph Full Results

- Graph Results

- Spline Visualizer

- Assertion Results

- View Results Tree

- Aggregate Report

- View Results in Table

- Simple Data Writer

- Monitor Results

- Distribution Graph (alpha)

- Aggregate Graph

- Mailer Visualizer

- BeanShell Listener

- Summary Report

5. Timers

默认情况下,一个JMeter线程在sampler之间发送请求是不会暂停的。有时候这可能不是你想要的。这时候你就可以加一个timer元素,你可以用她来在每个请求之间定义一个时间间隔。

JMeter提供的Timers,如下



- Constant Timer

- Gaussian Random Timer

- Uniform Random Timer

- Constant Throughput Timer

- Synchronizing Timer

- JSR223 Timer

- BeanShell Timer

- BSF Timer

- Poisson Random Timer

6. Assertions

Assertions,有点类似JUNIT里面的断言,她可以对请求中返回的结果做一些验证性的处理。使用Assertions可以定制请求正确时返回的成功信息,也可以高亮返回的错误信息。

JMeter提供的Assertions如下,



- Beanshell Assertion

- BSF Assertion

- Compare Assertion

- JSR223 Assertion

- Response Assertion

- Duration Assertion

- Size Assertion

- XML Assertion

- BeanShell Assertion

- MD5Hex Assertion

- HTML Assertion

- XPath Assertion

- XML Schema Assertion

7. 其他

除了上面几个最重要的概念之外,还有几个概念,大家如果用到可以去官网翻翻文档,比如说Configuration Elements, Pre-processor Elements,Post-processor Elements, Execution Order of Test Elements … …
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息