JMeter提取器

2023-12-14 18:23:59

一、正则表达式提取器

  • 使用场景: 任意格式的响应数据都可以使用正则表达式提取器;
  • 操作步骤: 添加线程组-添加HTTP请求-添加后置处理器-添加正则表达式提取器
  • 参数说明
    • 引用名称: 存放提取出的参数名称
    • 正则表达式: 左边界<.*?>右边界
    • 模板: 用$$引用,表示解析出的第几个()的值,$1$表示第一个
    • 匹配数字: 1表示第一个值,-1表示所有值
    • 缺省值: 匹配不到时取得值
  • Q1:(.?)和(.?)区别:
    • (.+?):匹配一个及以上
    • (.*?):匹配0个及以上
  • Q2:一个表达式匹配多个参数
  • Q3:提取传智播客中第五个城市作为参数传递给百度
    方法一:直接匹配目标值
    1、匹配数字为5,表示选择第五个匹配值
    在这里插入图片描述
    2、请求HTTP
    在这里插入图片描述

方法二:提取匹配的所有值后,选择相应的值
1、匹配数字为-1在这里插入图片描述
2、查看对应的变量在这里插入图片描述
3、请求百度
在这里插入图片描述

  • Q4:提取传智播客中第五个城市作为参数传递给百度,地址名称不同,地址/地址一等
    在这里插入图片描述

二、XPath提取器

  • 使用场景: HTML格式的响应结果数据进行提取;
  • 操作步骤: 添加线程组-添加HTTP请求-添加后置处理器-添加XPath提取器
  • 参数说明:
    • 勾选Use Tidy:为HTML时勾选
    • 引用名称:用于存储提取的参数名称
    • XPath query:用于提取值的XPath表达式
    • 匹配数字:0表示随机,-1表示提取所有的结果,1为第一个值
      在这里插入图片描述

三、JSON提取器

  • 使用场景: 提取JSON格式的数据;
  • 操作步骤: 添加线程组-添加HTTP请求-添加后置处理器-添加JSON提取器
  • 参数说明:
    • 同上面两个提取器
      在这里插入图片描述

四、JSON属性

当有关联关系的两个请求在同一个线程组中时,可以使用三种提取器的变量实现数据传递;当有关联关系的两个请求在不同线程组中时,如何进行数据传递?

  • JMeter属性配置函数:
    • _setProperty:将值保存为JMeter属性
    • _property函数:在其他线程组中使用该函数读取属性
  • 操作步骤:
    • 创建http请求
    • 创建JSON提取器,将提取值存放在值为city的变量中
    • _setProperty将city保存为JMeter属性值pro_city
    • _property读取JMeter中的属性pro_city
    • 创建BeanShell取样器,粘贴_setProperty生成值
    • 线程组外创建http请求,变量为_property生成值
    • 点击运行,可以看到非同一线程组可以用提取的变量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

文章来源:https://blog.csdn.net/qq_43251445/article/details/134919805
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。