A、是什么?
是一个Apache公司使用java开发的一款测试工具
B、为什么?
安全、高效、功能强大
模拟一些高并发或者多次循环等特殊测试场景
C、怎么用?
1、下载Jmeter,解压缩
2、安装java环境,安装JDK+JRE,配置环境变量
3、简单了解Jmeter的目录结构
backups:防止数据脚本丢失
bin:可执行程序
doc:文档,api文档
extra:额外的添加的功能
lib:存储了Jmeter整合的功能(一些以jar结尾的程序)
printable_doc:Jmeter使用说明手册(全英文的)
4、启动Jmeter
bin/ApacheJmeter.jar双击
5、编写一个Jmeter版本的测试案例
D、Jmeter的作用,优点、缺点
作用:接口测试、性能测试(内在的测试--程序的算法)、压力测试(外在)、web自动化测试、数据库测试、JAVA程序测试
优点:开源、免费 支持多协议 (http,https,ftp,ftps) 小巧 功能强大
缺点:不支持ip欺骗、不支持前端测试
2、Jmeter组件:线程组
A、是什么?
进程:一个正在执行的程序就对应一个进程
线程:进程中的执行线索(一个进程中有多个执行线索)
线程组:按照线程性质对线程进行分组
并发执行:多个线程同时执行,,特点:执行结束的顺序和线程的启动顺序不一定一致
顺序执行:按照线程的启动顺序挨个执行。
B、为什么?
方便管理
C、怎么用(基本使用)?
c-1:三者关系:一个线程中可以有多个线程组,一个线程组中可以有多个线程
进程--测试计划
线程组--线程组
线程---线程组属性
c-2:默认情况下,线程组中的线程是并发执行的
每个线程都要执行组内的http请求
c-3:可以设置线程组顺序执行
D、请求优化:
测试计划->右击-->添加--配置组件--http请求默认值
作用:通过服用属性简化实现,提高测试效率
E、线程组高级(初始化与销毁线程组)
E-1、线程组属性
属性1:线程数---模拟用户数
属性2:时间值----在指定时间内启动所有进程
属性3:循环数-----单个用户访问的次数
E-2、调度器
1、循环次数设置为永远
2、设置启动延迟X和持续时间Y
在X秒后访问服务器,并且持续Y秒
3、设置启动时间M和结束时间N
注意:2和3不能同时使用
3、Jmeter组件:参数化概述
A、是什么
动态的获取并设置数据
B、为什么
比如执行批量操作时,批量插入或者批量删除,之前数据都是手写的,每执行完一次都需要修改一次,效率不高
参数化可以用程序代替人工获取并设置属性,效率高并且安全
C、怎么用
4、Jmeter组件:参数化实现之CSV Data Set Config(重点)
A、是什么
Jmeter参数化实现组件之一
B、为什么
通过这个组件可以动态获取并设置数据,实现类似批量添加的操作(执行一次,将多条数据插入到数据库)
C、怎么用
c-1、实现思想
c-2、实现流程
D、其他
CSV Data Set Config-----CSV数据配置
5、Jmeter组件:线程组实现高级
SetUP线程组:最先执行的线程组,可以用来资源加载操作,比如初始化
TearDown线程组:最后执行的线程组