宜兰县网站建设_网站建设公司_后端工程师_seo优化
2026/1/17 8:51:23 网站建设 项目流程

文章目录

  • 一、关联
    • 1.1 什么是关联
    • 1.2 常用的关联方法
  • 二、正则表达式提取器
    • 2.1 场景
    • 2.2 正则表达式
    • 2.3 操作方法(2种)
      • 2.3.1 方法1-(.*)
      • 2.3.2 方法2-(.*?)
    • 2.4 参数设置
  • 三、XPath提取器
    • 3.1 场景
    • 3.2 Xpath语法
    • 3.3 操作方法
    • 3.4 参数设置
  • 四、JSON提取器
    • 4.1 场景
    • 4.2 操作方法

一、关联

1.1 什么是关联

当请求之间有依赖关系,一个请求的入参,需要使用到之前请求的响应数据时,需要使用关联。

JMeter可以通过“后置处理器”中的一些组件来处理关联。

1.2 常用的关联方法

  • 正则表达式提取器
  • XPath提取器
  • JSON提取器

二、正则表达式提取器

添加方式: 测试计划 --> 线程组–> HTTP请求 --> (右键添加) 后置处理器 --> 正则表达式提取器

2.1 场景

需求:将 http://www.itcast.cn , 网页的title内容提取出来,作为 https://www.baidu.com 的请求参数使用。

应用场景:

  • 请求间有数据依赖关系
  • 正则表达式提取器可以提取任意格式的响应数据

2.2 正则表达式

<title>百度一下,你就知道</title></head><title>(.*?)</title>. 是通配符,可以代表任意字符(除换行回车) * 代表前面的字符出现0次或者多次 .* 匹配规则:找到左边界值后,往右查找右边界,找到最后面的右边界,中间的所有数据都被记录下来 ? 代表非贪婪匹配,找到左边界后,往右查找匹配右边界,只要有匹配的右边界就停止继续查找; 左边界(.*?)右边界:可以提取出想要获取的数据内容

2.3 操作方法(2种)

1、添加线程组、http请求-itcast(必须在前)、http请求-百度(必须在后)、查看结果树

2、http请求-itcast–> 后置处理器 --> 正则表达式提取器

3、设置正则表达式提取器

①引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它 ②正则表达式 () 括起来的部分就是要提取的。 . 匹配任何字符串。 + 一次或多次。 ? 不要太贪婪,在找到第一个匹配项后停止。 ③模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给title。 --如$1$表示解析到的第1个值 ④匹配数字:0代表随机取值,-1代表全部取值,1代表取第一个值 ⑤缺省值:如果参数没有取得到值,那默认给一个值让它取。

4、使用提取到的数据 ${变量名}

5、方便查看正则表达式匹配结果,可以在线程组添加"取样器"

2.3.1 方法1-(.*)

2.3.2 方法2-(.*?)

从查看结果树中,使用调制取样器。


2.4 参数设置

三、XPath提取器

  • X:代表 xml 或 xhtml(从html直接转换)
  • path:按路径匹配
  • 添加方式: 测试计划 --> 线程组–> HTTP请求 --> (右键添加) 后置处理器 --> XPath提取器

3.1 场景

需求:将 http://www.itcast.cn , 网页的title内容提取出来,作为 https://www.baidu.com 的请求参数使用。

应用场景:只能适用于响应结果为HTML或XML格式的情况。

3.2 Xpath语法

//title 相对路径的语法

3.3 操作方法

1、添加线程组

2、添加HTTP请求——xx播客首页

3、添加xpath提取器

  • 勾选Use Tidy
  • 填写引用名称:参数名
  • Xpath路径

4、添加HTTP请求——百度首页

  • 引用xpath提取器中定义的参数名:${参数名}

5、添加查看结果树

3.4 参数设置

1、Use Tidy (tolerant parser):如果勾选此项,则使用Tidy将HTML响应解析为XHTML。当需要处理的页面是HTML格式时,必须选中该选项, 当需要处理的页面是XML或XHTML格式(例如,RSS返回)时,取消选中该选项。

2、引用名称: 存放提取出的值的参数

3、XPath Query: 用于提取值的XPath表达式

4、匹配数字: 如果XPath路径查询导致许多结果, 则可以选择提取哪个作为变量

0: 表示随机 -1:表示提取所有结果(默认值),它们将被命名为<变量名>_N(其中N从1到结果的个数) X: 表示提取第X个结果。如果这个x大于匹配项的数量,则不返回任何内容。将使用默认值

5、缺省值: 参数的默认值

四、JSON提取器

添加方式: 测试计划 --> 线程组–> HTTP请求 --> (右键添加) 后置处理器 --> JSON提取器

4.1 场景

需求:请求获取天气的接口 ,获取 城市名称 作为 百度 请求参数。

天气的接口 https://www.weather.com.cn/data/sk/101010100.html 请求:https://www.baidu.com/s?wd=北京,把获取到的城市名称作为请求参数 { "weatherinfo": { "isRadar": "1", "rain": "0", "temp": "18", "city": "北京", "WSE": "1", "qy": "1011", "njd": "暂无实况", "cityid": "101010100", "WD": "东南风", "SD": "17%", "Radar": "JC_RADAR_AZ9010_JB", "time": "17:05", "WS": "1级" } }

应用场景:适用于返回响应的数据类型为JSON格式的情况。

4.2 操作方法

1、创建线程组、http请求-天气、http请求-百度、查看结果树

2、http请求-天气 --> (右键添加) 后置处理器–>JSON提取器

3、JSON提取器 设置

Namesofcreated variables: 变量名(保存提取到的json数据)JSONPath Expressions:JSON路径表达式

4、http请求-百度,使用 ${变量名} 来使用保存提取到的json数据。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询