关联:就是一个请求的结果是另一个请求提交的数据,二者不再是独立存在的,而是依赖关系。
为了实现多样的业务逻辑(可能由多个请求组合而成)
实现方式:
1、JDBC将结果赋值给变量,再在另一个请求调用变量。
2、Xpath提取器(后置处理器,从响应的HTML中提取标签的数据)
3、正则表达式提取器
组件位置:取样器--后置处理器--正则表达式提取器
测试要求:
1. 对http://www.baidu.com进行2次访问;
2. 第一次获取title值,第二次把获取的值作为参数名(title标签值)的参数值附加请求中。
就是要得到“百度一下你就知道”。
xpath提取器
1. Use Tidy:当需要处理的页面是HTML格式时,必须选中该选项。
1) Tidy:一种HTML格式化模板
2. Reference Name:存放提取出的值的参数名称(被引用时使用)。(引用名称)
3. XPath Query:用于提取值的XPath表达式(跟学习WEB自动化使用XPath一样)。
正则表达式提取器
正则表通常被用来检索、替换那些符合某个规则的文本
正则表达式(提取规则):直接按唯一关键字来识别,括号中就是要提取的内容。会把括号内的结果都存放至变量中。如(>.*),中的>也会存放至变量中,注意。
1. 引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它。
2. 正则表达式:制定规则的公式
公式模板:前缀识别()后缀识别
():括起来的部分就是要提取的数据。声明截取的区间。
1) .:匹配任何字符。
2) +:一次或多次。
3) ?:在找到第一个匹配项后停止。
4) *:匹配规则内所有字符串
3. 模板:$$格式;$1$表示解析到的第1个值;如果匹配有2个值,第二个值$2$,以此例推。这个是匹配规则中右多个括号时,第一个指的是第一个括号中的匹配内容,依次类推。
4. 匹配数字:1代表全部取值,0代表随机取值,通常情况下填1 。2代表取返回结果组合的第2个值,依次类推。这个是指能匹配到多个记录,第一个值第一条匹配记录值。
访问网站返回信息如第一个json图结构,设置匹配规则见中间图,调用变量见第三个图。
1. 正则表达式提取器可以用于对页面任何文本的提取,提取的内容是根据正则表达式在页面内容中进行文本匹配;
2. XPath Extractor则可以提取返回页面任意元素的任意属性,如//a[@href="http://tieba.baidu.com"]/@name;
3. 如果需要提取的文本是页面上某元素的属性值(HTML、xml),建议使用XPath Extractor;
4. 如果需要提取的文本在页面上的位置不固定,或者不是元素的属性,建议使用正则表达式提取器。
(如果从标签(html | XML)语言提取数据最好使用 Xpath 提取器,如果想要的数据是文本格式,正则表达式提取器更方便)