一.简介
JMeter 是 Apache 组织使用 Java 开发的一款测试工具。
1、可以用于对服务器、网络或对象模拟巨大的负载
2、通过创建带有断言的脚本来验证程序是否能返回期望的结果
二.优缺点
优点:
开源、免费
跨平台
支持多协议
小巧
功能强大
缺点:
不支持IP欺骗
使用JMeter无法验证JS程序,也无法验证页面UI,所以要和Selenium配合来完成Web2.0应用的测试
三.安装与启动
JMeter 是使用 Java 编写的,必须安装 Java 环境
JDK: Java SE Development Kit (java 开发工具包,为 JAVA 程序开发提供环境支持)
JRE: Java Runtime Environment (java 运行环境,为 JAVA 程序运行提供环境支持)
下载并安装 JMeter
下载: Apache JMeter - Download Apache JMeter 安装: 直接解压缩即可
启动
bin目录下的 ApacheJMeter.jar 双击启动即可
四.JMeter的基本使用
设计接口三要素
测试计划--右键--线程--添加线程组
线程组--右键--取样器--http请求
测试计划--右键--添加监听器--查看结果树
点击运行,查看结果
五.JMeter线程组相关
进 程: 正在运行的程序
线 程: 是进程中的执行线索
线程组: 进程中有许多线程,为了方便管理,可以对线程按照性质分组,分组的结果就是线程组
PS: 三者关系,一个进程可以包含多个线程组,一个线程组可以包含多个线程
六.JMeter并发执行和顺序执行
并发执行:多个线程同时执行,不知道谁先结束
顺序执行:多个线程顺序执行
在测试计划中勾选上该选项,就可以让线程按照添加顺序执行
执行结果
七.JMeter两个特殊线程组
setUp线程组:最优先执行的线程组
tearDown线程组:最后执行的线程组
八.JMeter线程组相关属性
九.http请求默认值
将被复用的内容进行封装。
十.信息头管理器
新增修改实现时提交的数据是 JSON 格式的,需声明提交的数据的内容类型。
新增时在消息体数据中添加数据:
启动前要添加Http信息头管理器,否则会出现下面类似情况:
添加Http信息头管理器:
Content-Type application/json;charset=utf-8(中间的标点符号为分号,图片中:为书写错误)
十一.参数化
当提交的数据量较大,种由程序驱动代替人工驱动的数据设计方案,提高脚本的编写效率以及编写质量。
1.用户定义的变量
调用方式:${变量名}
2.CSV数据文件设置
CSV :逗号分隔值,是一种简洁且常见的数据存储格式,存储语法如下图所示
3.用户参数
4.函数
常见函数: __counter 计数器函数 :TRUE(每个用户都有自己的计数器) FALSE(所有用户共用一个计数器)
__Random 随机数函数: 参数1:取值范围最小值(包含) 参数2:取值范围最大值(包含)
__time 获取当前时间的函数 :无参: 获取的是距离 1970/01/01 00:00:00 的毫秒值
1、__counter函数
2、__Random函数
3、__time函数
不设置值:
设置值:
十二.直连数据库
通过直连数据库让程序代替接口访问数据库,如果二者预期结果不一致,就找到了程序缺陷。
具体步骤:
JMeter 不具备直连数据库功能,必须整合第三方(jar包)实现
配置数据库的连接 JDBC Connection Configuration
通过 JDBC Request 请求向数据库发送 SQL语句并接收提取响应结果
将查询到的结果作为接下来请求的路径:
添加调试取样器
在 JDBC Request 中添加
添加http请求
十三.断言
让程序代替人工判断响应结果是否符合预期
分类: 响应断言 = 断言状态码和响应体 大小断言 = 判断响应内容的字节长度 断言持续时间 = 判断响应时间
1、响应断言
2、大小断言
3、断言持续时间