Jmeter入门(8)- Jmeter关联
一、 关联的定义
把一个请求之后返回的数据,作为另一个请求的参数。
二、 XPath关联
XPath 是一门在 XML 文档中查找信息的语言
学习例子
1.访问网易官网,获取到title
2.将title值放入百度搜索框
前置条件
添加HTTP请求
位置:线程组 ==> 添加 ==> 取样器 ==>HTTP请求
HTTP请求 ==> 网易首页
HTTP请求 ==> 百度搜索
XPath使用场景
接口值为HTML或者XML格式时,使用XPath提取器
位置
配置XPath提取器
配置说明如下:
配置项 | 规则及含义 |
---|---|
Use Tidy | 当需要处理的页面是XML或XHTML格式(例如,RSS返回 |
引用名称 | 接收返回数据的变量名 |
XPath query | XPath表达式 |
匹配数字 | 0代表随机取; -1表示取所有数据; 1表示取第一个 |
缺省值 | 当没有匹配数据时,显示的内容 |
添加Debug Sampler
位置:线程组 ==> 添加 ==> 取样器 ==> Debug Sampler
引用变量
在百度请求中引用title变量,百度搜索请求的参数如下:
参数 | 值 |
---|---|
wd | 搜索的内容 |
tn | monline_4_dg(模拟http请求) |
因为百度不允许做压测,所以添加tn参数
查看请求是否正确-察看结果树
总结
- 在请求结果为
HTML
或者XML
格式时,可以使用XPath提取器; - 在XPath提取器中,一定要勾选
use Tidy
; - 变量的引用,使用
${变量名}
; - 还可以将察看结果树中的请求、响应数据的显示类型设置为
XPath Teser
,再进行XPath query
(表达式)的设置。
三、 JSON关联
学习例子:
1.查询用户信息,获取第一个用户的id
2.根据id修改该用户的信息
使用场景
在接口返回数据为Json格式时,使用JSON提取器
位置
添加HTTP请求获取JSON数据
配置JSON提取器
配置说明如下:
配置项 | 规则及含义 |
---|---|
Names of created variables | 接收返回数据的变量名 |
JSON path expressions | JSON提取器表达式,$.<获取字段的名字> |
Match No.(0 for Random) | 0代表随机取; -1表示取所有数据; 1表示取第一个 |
Default Values | 当没有匹配数据时,显示的内容 |
添加Debug Sampler
位置:线程组 ==> 添加 ==> 取样器 ==> Debug Sampler
引用变量
查看请求是否正确-察看结果树
总结
- 在请求结果为
JSON
格式时,可以使用JSON提取器; - 查找JSON可以通过
$.<获取字段的名称>
来获取; - 可以将察看结果树中的请求、响应数据的显示类型设置为
JSON Path Teser
,再进行JSON Path Expression
的设置。
四、 正则表示式关联
学习例子:(和JSON关联使用的是同一个例子)
1.查询用户信息,获取第一个用户的id
2.根据id修改该用户的信息
使用场景
任何数据形式都可以使用正则提取器
位置
添加HTTP请求获取数据
配置正则表达式提取器
配置说明如下:
配置项 | 规则及含义 |
---|---|
引用名称 | 接收返回数据的变量名 |
正则表达式 | 参考链接 |
模板 | $1$,表示取第一组数据 |
匹配数字 | 0代表随机取; -1表示取所有数据; 1表示取第一个 |
缺省值 | 当没有匹配数据时,显示的内容 |
添加Debug Sampler
位置:线程组 ==> 添加 ==> 取样器 ==> Debug Sampler
引用变量
查看请求是否正确-察看结果树
总结
-
任何形式的数据都可以使用正则表达式;
-
正则表达式提取器主要用于筛选和过滤数据;