一、组件总结
1、组件与元件
- 组件: Jmeter的内置功能,每一个功能都是一个组件。
- 元件:元件中存储的都是性质相似的组件(就是对组件的分类管理)
2、组件的作用域(作用范围)
- 第一类:以聚合报告为例只对树形结构上自己的直接父级以及兄弟级以及子级......有效。基本所有组件都属于第一类
- 第二类:逻辑控制器,只对子级有效
- 第三类:取样器可以不依赖任何组件存在,可以不对其他组件产生任何影响。取样器无作用域概念。
3、组件的执行顺序
- 配置元件(config elenents):存储了一些程序的全局性数据
- 前置处理程序(Per-processors) :取样器执行之前执行的组件。可以存储批量执行的数据
- 定时器(timers):在请求执行前集合用户
- 取样器(Sarpler):访问服务器
- 后置处理程序(Post-processors):处理响应的结果
- 断言(Assertlons):断言结果
- 监听器(Listeners):最后执行
二、FTP(了解)
1、概述
FTP:文件上传和下载服务器。上传:将文件从本地上传到服务器;下载:将服务器的资源下载到本地。
2、实现思想
- 在服务器上安装一个文件上传和下载的服务器(FTP服务器),保证服务器程序具备文件上传和下载的功能
- JMeter内置了FTP请求,可以通过此请求实现文件传输测试
3、FTP上传文件实现
(1)在服务器上安装FTP服务器:解压FTP压缩包,执行exe文件,具体操作步骤如下图所示:
(2)安装完成后,启动服务器上的FTP服务器,如下图所示:
(3)JMeter中搭建框架(测试计划、线程组、结果树),线程组右键----添加----Sampler----FTP请求,如下图所示:
(4)运行测试计划,查看结果树,如下图所示:
3、FTP下载文件实现
(1)在服务器上搭建FTP环境,并在JMeter中搭建框架(测试计划、线程组、结果树),线程组右键----添加----Sampler----FTP请求,如下图所示:
(2)运行测试计划,查看结果树,如下图所示:
三、其他组件之非测试元件(不重要)
1、非测试元件之property Display-----显示系统共享数据
(1)工作台右键----添加----非测试元件----property Display,可以查看共享数据,如下图所示:
2、非测试元件之HTTP mirror server-----内置服务器
(1)工作台右键----添加----非测试元件----HTTP mirror server,创建JMeter内置服务器,其默认端口为8081,如下图所示:
(2)创建HTTP请求,如下图所示
(3)运行测试计划,查看结果树,内置服务器不处理请求,只是将提交的数据原样返回,如下图所示:
三、其他组件之TestFragment------测试片段
1、概述
- 作用和函数类似,可以封装某些功能
- 执行也和函数类似,不调用不执行.。相当于函数,将常用的请求封装进去,调用时才执行
2、调用方式
- 调用方式1:模块控制器
- 调用方式2: include Controller
3、调用方式之模块控制器
(1)测试计划右键-----添加-----TestFragment,添加测试片段,再在测试片段下创建HTTP请求(封装常用的请求)。
(2)测试片段右键----启用,启用创建的测试片段。注意:测试片段默认是禁用状态的,必须启用,否则无法使用。
(3)新增线程组,线程组右键----添加----逻辑控制器----模块控制器,创建模块控制器,并在模块控制器中调用测试片段,如下图所示:
(4)运行测试计划,查看结果树,如下图所示:
4、调用方式之include Controller
(1)测试计划右键-----添加-----TestFragment,添加测试片段,再在测试片段下创建HTTP请求(封装常用的请求)。
(2)测试片段右键----启用,启用创建的测试片段。注意:测试片段默认是禁用状态的,必须启用,否则无法使用。
(3)新增线程组,线程组右键----添加----逻辑控制器----include Controller,导入测试片段对应的测试计划路径,如下图所示:
(4)运行测试计划,查看结果树,如下图所示:
四、总结
1、作用域
- 自身的直接父级以及兄弟级以及子级(除了2和3之外)
- 只有子级(逻辑控制器)
- 取样器无所谓作用域
2、执行顺序
- 配置元件
- 前置处理器
- 定时器
- 取样器
- 后置处理器
- 断言
- 监听器
3、FTP
- 文件上传和下载
- 程序中必须的环境
- 安装PTP服务器
4、其他组件
(1)非测试元件之property diaplay显示系统共享数据
(2)非测试元件之HTTP mirror server内置服务器
(3)TestFragment:测试片段
- 作用和函数类似,可以封装某些功能
- 执行也和函数类似,不调用不执行
- 调用方式:模块控制器或、include Controller