一.jmeter的目录结构
bin 目录(常用文件介绍)
jmeter.bat:windows下启动文件
jmeter.sh:Linux下启动文件
jmeter.log:Jmeter运行日志文件
jmeter.properties:Jmeter配置文件
/docs目录——Jmeter帮助文档
/lib/ext目录——存放Jmeter依赖的jar包
二. 功能概要
2.1 汉化
2.2 修改主题
三. jmeter元件和组件
3.1 元件的基本介绍
元件: 多个类似功能组件的容器(类似于类)
3.2 组件的基本介绍
组件: 实现独立的某个功能(类似于方法)
小结:
3.3 元件的作用域
元件的作用域: 是靠测试计划的树形结构中元件的父子关系来确定的
提示:所有的组件都是以取样器为核心来运行的。组件添加的位置不同,生效的取样器页不同
元件的执行顺序:
(1) 同一作用域下的不同元件:
配置元件,前置处理器,定时器,取样器,后置处理器,断言,监听器
(2) 同一作用域下相同的元件:
从上到下的顺序依次执行
案例:
执行顺序:
定时器1--http请求1--定时器1--定时器2--http请求2--定时器1---定时器3--http请求3
四. jmeter使用示例
4.1 线程组
作用: 线程组就是控制jmeter用于执行测试的一组用户
位置: 右击"测试计划"-->添加-->线程(用户)-->线程组
特点:
模拟多人操作
线程组可以添加多个,多个线程组可以并行或者串行
取样器和逻辑控制器必须依赖线程组才能使用
线程组可以添加其他元组下组件
4.1.1 线程组的分类
普通线程组,常用的线程组,可以看做是一个虚拟用户组,线程组中的每一个线程都可以理解为一个虚拟用户
setup线程组:一种特殊类型的线程组,可用于执行预测试操作
teardown线程组:一种特殊类型的线程组,可用于执行测试后工作
4.2 HTTP请求
作用: 向服务器发送http请求和https请求
位置: 进入线程组-->右击-->添加-->取样器-->HTTP请求
4.3 监听器
作用: 监听器可以动态的监控jmeter测试执行的过程,实时查看测试结果
位置: 线程组-->添加-->监听器-->聚合报告/察看结果树
(1) 察看结果树
(2) 聚合报告
** 五. jmeter参数化**
5.1 jmeter介绍
本质:使用参数的方式替代脚本中的固定的测试数据
实现方式:文件定义的方式/数据库的方式/定义变量
5.2 jmeter参数化
参数化测试:把测试数据组织起来,用不同的测试数据调用相同的测试方法。
jmeter中常见的参数化方式:
用户定义的变量
用户参数
CSV Data Set Config
函数
5.2.1 用户定义的变量
作用: 定义全局变量
位置: 测试计划-->线程组-->配置元件-->用户定义的变量
需要通过${变量名}进行引用
5.2.2 用户参数
作用: 针对同一组参数,当不同的用户来访问时,可以获取到不同的值
位置: 测试计划-->线程组-->前置处理器-->用户参数
5.2.3 CSV数据文件设置
作用: 让不同的用户在多次循环时,可以取到不同的值
位置: 线程组-->配置元件-->csv数据文件设置
5.2.4 函数参数化
作用: 计数函数,一般做执行次数统计使用
方式一: _counter函数
位置: 选项-->函数注释对话框-->_counter
方式二: CsvRead函数
位置: 选项-->函数注释对话框-->CsvRead
方式三: RandomString函数
位置: 选项-->函数注释对话框-->_RandomString
六. jmeter断言
作用:
让程序判断预期结果和实际结果是否一致
常见的断言:
响应断言
json断言
xpath断言
6.1 响应断言
作用:对http请求的任意格式的响应结果进行判断
位置:测试计划-->线程组-->http请求-->(右键添加)断言-->响应断言
6.2 json断言
作用:对http请求的json的响应结果进行判断
位置:测试计划-->线程组-->http请求-->(右键添加)断言-->json断言
6.3 xpath断言
定义:xpath基于XML的树状结构,提供在数据结构树中寻找节点的能力
位置:测试计划-->线程组-->http请求-->(右键添加)断言-->xpath断言
区别:
响应断言(适用任何的返回类型),
json断言(只适用于json的返回类型),
Xpath断言,针对返回信息为Xpath的数据类型进行断言
6.4 断言持续时间
作用:检查http请求的响应时间是否超出要求范围
位置:测试计划-->线程组-->http请求-->(右键添加)断言-->断言持续时间
七. jmeter关联
常见的关联:
正则表达式提取器 --提取任意格式的数据
json提取器 --提取json格式的数据
xpath提取器 --提取html格式的数据
7.1 正则表达式
作用:针对任意格式的响应数据进行提取
位置:线程组>>添加>>后置处理器>>正则表达式提取器
公式格式:左边界(匹配符号)有边界:可以提取出想要获取的数据内容
.:是通配符,可以代表任意字符(除换行回车)
*:代表前面的字符出现0或者多次
.*匹配规则:找到左边界值后,往右查找有边界,找到最后面的有边界,中间的所有的数据都被记录下来
?:代表非贪婪匹配,找到左边界后,往右查找匹配走边界,只要右匹配的右边界就停止继续查找;再次查找
左边界的右边界
公式格式:左边界(.*?)有边界
<title>(.*?)</title>
<title>百度一下,你就知道</title>
参数详解
引用名称:存放提取出的值的参数名称
正则表达式:左边界(.*?)有边界
模板:用$$引用起来,表示解析出第几组()的值
匹配数字:1表示第一个值,-1表示所有的取值
7.2 json提取器
json提取器 :就是json表达式提取数据,从返回格式是json中提取想要的数据内容
位置:线程组>>添加>>后置处理器>>json提取器
案例:
实现登录--查询余额
提取登录的token数据,通过json表达式
余额的接口
7.3 xpath提取器
xpath提取器 :针对于HTML格式的响应结果数据进行提取
位置:线程组>>添加>>后置处理器>>xpath提取器
案例:
在百度搜索中提取数据,传递第二个百度搜索中进行搜索
验证
在第二接口使用
注意:
正则可以适用任何形式的返回格式类型,
json可以适用于json格式的返回类型,
xpath适用html格式的返回类型
版权归原作者 got Ideal 所有, 如有侵权,请联系我们删除。