JMeter提取器

一、正则表达式提取器

  • 使用场景: 任意格式的响应数据都可以使用正则表达式提取器;
  • 操作步骤: 添加线程组-添加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生成值
    • 点击运行,可以看到非同一线程组可以用提取的变量

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值