学习笔记jmeter之关联 、正则表达式提取(4)

关联:就是一个请求的结果是另一个请求提交的数据,二者不再是独立存在的,而是依赖关系。

为了实现多样的业务逻辑(可能由多个请求组合而成)

实现方式:

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一样)。 

xpath介绍参考:https://blog.csdn.net/caohongxing/article/details/83010276?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-11&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-11

 

正则表达式提取器

正则表通常被用来检索、替换那些符合某个规则的文本

     

  正则表达式(提取规则):直接按唯一关键字来识别,括号中就是要提取的内容。会把括号内的结果都存放至变量中。如(>.*),中的>也会存放至变量中,注意。

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 提取器,如果想要的数据是文本格式,正则表达式提取器更方便)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章