zoukankan      html  css  js  c++  java
  • 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

    引用变量

    查看请求是否正确-察看结果树

    总结

    • 任何形式的数据都可以使用正则表达式;

    • 正则表达式提取器主要用于筛选和过滤数据;

  • 相关阅读:
    623. Add One Row to Tree 将一行添加到树中
    771. Jewels and Stones 珠宝和石头
    216. Combination Sum III 组合总数三
    384. Shuffle an Array 随机播放一个数组
    382. Linked List Random Node 链接列表随机节点
    向github项目push代码后,Jenkins实现其自动构建
    centos下安装Jenkins
    python提取批量文件内的指定内容
    批处理实现:批量为文件添加注释
    python抓取每期双色球中奖号码,用于分析
  • 原文地址:https://www.cnblogs.com/colorfully/p/13762327.html
Copyright © 2011-2022 走看看