Jmeter环境搭建
环境准备:
java 1.8
jmeter 5.1.1
jmeter环境
jmeter环境依赖JAVA环境,需安装JDK1.8环境,JDK环境安装网上一大堆教程,我这里就不多说了,会另开一篇单独记录。
jmeter官网:http://jmeter.apache.org/ 下载
进入官网
根据自己的需要进行下载
下载后无需安装,解压后即可使用。下图为解压后的目录。
完成以上操作后,需要进行配置jmeter的环境变量。
jmeter环境变量配置如下:
(1)新增JMETER_HOME变量
注意:变量值为你下载后解压的路径,这里已经设置好所以截图的是编辑。
(2)配置Path环境变量:
选择path-然后点击编辑-新建,输入:%JMETER_HOME%\bin 点击确定保存
(3)配置CLASSPATH变量,加上:
%JAVA_HOME%/lib/tools.jar;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;
操作完上面的步骤,
(4)校验是否安装配置成功:
方法1:验证:以管理员身份打开dos窗口输入jmeter,如果正常启动则配置成功
1.安装Java的jdk 目的:Jmeter是使用Java编程语言实现 2.安装Jmeter 1.下载安装包(压缩文件) 2.压缩文件,进行解压(注:路径不要有空格,最好不带中文。切记不要有中文括号) 3.将bin目录添加到电脑的环境变量中 3.启动Jmeter(二选一) 1.使用bin目录中的jar包 2.使用bin目录中的jmeter.bat文件
Jmeter功能概要
目录介绍
-
bin目录:存放可执行文件和配置文件
-
lib目录:存放Jmeter依赖的jar包
-
docs目录:Jmeter的api文档
-
printable_docs目录:用户帮助手册
修改配置-汉化
修改配置-主题
元件基础介绍
-
介绍1
-
介绍2
常用的元件
-
初始化测试数据----配置元件
-
对请求参数进行赋值---前置处理器
-
调用GET/POST方法发送请求---取样器
-
提取响应中特定字段的值---后置处理器
-
对提取出来的值与预期结果进行对比---断言
-
在控制台查看脚本运行的结果---监听器
-
常用的取样器
-
http请求:发送接口请求
-
jdbc request:执行SQL语句
-
元件作用域
-
取样器:核心,没有作用域
-
逻辑控制器:只对其子节点中的取样器和逻辑控制器起作用
-
其他元件:
-
如果对某一个取样器作用,设置该元件为取样器的子节点
-
如果要对多个取样器作用,设置该元件为取样器的同级
-
元件执行顺序
-
同一作用域下不同元件
-
同一作用域下相同元件
Jmeter三个重要组件
介绍
-
添加线程组
-
添加HTTP请求
-
设置HTTP请求
-
添加查看结果树
-
脚本的启动
-
结果的查看
线程组
-
特点
1.模拟多人操作 2.可以添加多个线程组,一个线程组=一条测试用例 3.取样器和逻辑控制器必须依赖线程组才能使用 4.线程组下可以添加其他元件的组件
-
分类
setUp线程组:所有普通线程组之前被执行,并且仅执行一次 普通线程组:如果没有特殊设置,并行也可以串行 tearDown线程组:所有普通线程组之后被执行,并且仅执行一次
-
属性
练习
-
设置线程组--串行
-
分类练习
HTTP请求
-
设置查询参数
-
方式一:路径
-
方式二:参数列表
-
-
设置Form表单
-
设置Json
-
设置请求体数据
-
设置请求头
-
查看结果树
-
作用
-
查看响应数据(响应体数据,状态码)--用于结果校验
-
查看响应体数据
-
查看状态码
-
-
查看传入的请求数据(如果响应数据与预期不符,首先查看传入请求数据是否满足用例要求)
-
Jmeter参数化
用户定义的变量
-
作用
接口脚本中,统一管理测试数据
-
实现步骤
1.添加线程组 2.添加用户定义的变量。(键值对形式) 3.添加HTTP请求,引用定义的变量名--${变量名} 4.添加查看结果树
-
练习
-
添加组件
-
设置并应用变量
-
确认引用成功
-
-
自定义变量名称与请求体字段名称的关系
CSV数据文件设置
-
使用场景
当不同的用户,或者同一个用户多次循环时,需要获取不同请求数据的值
-
实现步骤
1.定义csv数据文件 2.添加线程组 3.添加CSV数据文件设置 4.添加HTTP请求,引用定义的变量名 5.添加查看结果树
-
"CSV数据文件设置"组件,需要设置内容
1.读取CSV文件的路径 2.编码格式 3.读取CSV文件数据保存的变量名 4.是否从第一行读取 5.CSV文件数据的分隔符
函数(__counter)
-
使用场景
自动生成不重复的数据,让每个用户每次循环都能取到不同的数据,且不需要提前定义
-
实现步骤
1.添加线程组,设置虚拟用户数和循环次数 2.生成_counter函数 3.添加HTTP请求,使用_counter函数 4.添加查看结果树