jmeter——关联
6.1 概念
关联: 就是一个取样器运行的结果作为另外一个取样器提交的数据
6.2 作用
场景: 可以使用关联组织业务逻辑
举例: 测试购物车的删除功能时,删除这个接口需要提交被删除的商品的ID,前提:这个ID 得是购物车中的确存在的,怎么实现?
1、访问查询购物车商品信息的查询接口,获取到所有商品
2、从步骤1中取出某个商品的 ID,然后提交给删除接口
注意: 以后测试一套业务逻辑时,这套逻辑可能有多个接口组成,不同接口之间必然涉及到数据传递,有数据传递就有关联
6.3 实现
6.3.1 需求:两个http请求,请求A访问XX官网,请求B访问百度 ,请求A将XX官网源码中的 title 标签的值取出,传递给请求B,在请求B中作为关键字搜索这个 title 值
1、搭框架,创建测试计划,线程组,结果树,两个 HTTP 请求
2、核心: 将 请求A中 title 标签的值提取出来
3、将提取的值传递给百度,调用格式: ${变量名}
6.3.2 需求:两个请求,请时求A查询所有学院信息,请求B访问百度,从请求A中提取出某一个学院的学院名称,再在请求B上搜索
1、搭框架,创建测试计划、线程组、结果树,创建两个 http 请求
2、核心: 从请求A的结果中提取某个学院名称
正则语法:
() === 代表截取区间
. === 任意字符
* === 可以出现任意次
? === 截取到第一个结束标记
3、将步骤2提取的结果传递给请求B,调用格式: ${变量名}
6.4 XPath 与 正则表达式 比较
共同点: 都可以从某个请求中提取数据
不同点: XPath 表达式只能从标签文档提取数据
正则表达式提取器既可以从文本文档提取数据,也可以从标签文档提取数据
建议: 从标签文档提取建议使用 XPath提取器,如果从普通文本文档踢球,建议使用正则表达式提取器
知识点补充:
从文档中搜索数据时,可以使用 XPath 表达式或正则表达式(通过一系列具有特定含义的特殊字符来设计搜索规则)