• Jmeter之关联——常用提取器


    Jmeter关联

    所谓关联,从业务角度讲,即:某些操作步骤与其相邻步骤存在一定的依赖关系,导致某个步骤的输入数据来源于上一步的返回数据,这时就需要“关联”来建立步骤之间的联系。

    简单来说,就是:将上一个请求的响应结果作为下一个请求的参数。。。

    这里的提取器,都可以作为jmeter中关联的使用。

    一、边界提取器

    参数:前三个就不做介绍了;

    (4)匹配数字:-1表示全部,0随机,1第一个,2第二个

    (5)缺省值:这个如果没有匹配到,给它定义的一个默认值

    这里和lr里的关联函数是差不多的,比如这里要提取hao123,

     提取器填写如下:

     在请求2里引用:引用使用${变量名},这里为${id},如下图,就已经取到值了。

    二、正则表达式提取器

    参数:

    (1)就是变量名。

    (2)正则表达式:

      ():括起来的部分就是要提取的。

       .:匹配任何字符串。

      +:一次或多次。
      ?:不要太贪婪,在找到第一个匹配项后停止。

    (3)模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给title。如:$1$表示解析到的第1个值

    (4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0

    (5)缺省值:如果参数没有取得到值,那默认给一个值让它取。

     在请求2里引用:引用使用${变量名},这里为${id},如下图,就已经取到值了。

    三、json提取器

    jsonpath得使用详细:http://www.lemfix.com/topics/63

    json提取器的示例:https://www.cnblogs.com/tudou-22/p/12579575.html

    参数介绍:

    (1)names of created variables :接收值的变量名

    (2)json path: json path表达式

    (3)match no:0随机;n取第几个匹配值;-1匹配所有,后续引用用 变量名_N 取第N个值。

    (4)default values: 缺省值,匹配不到值的时候取该值

    如果返回的数据时json串,那么该如何提取呢?

    这里说一下json提取器:

    json数据为:{"statusCode":200,"data":{"userId":"4a2cbe616eb74f0d99190af072c8dea6","token":"37e7a9e198186f5a443e50e6138a5bd20bd"}}

    则json path表达式为:$.data.token

    json数据为:{"statusCode":200,"data":[{"code":"407949","id":"aa477ad2085d492a99b877d14343d68d","name":"90一中4545"}]}

    则json path表达式为:$.data[0].id  【原来这个responses 的data为数组,故应为 $.data[0].id 提取第1个值】

    例子:提取下面json里的性别

    json提取器里填写如下:

    在请求2里引用:引用使用${变量名},这里为${name},如下图,就已经取到值了。

    四、xpath提取器

    XPath Extractor是另一个可被用来提取页面给定内容的Post Processor,XPath Extractor的使用方式与Regular Expression Extractor类似,只不过需要在该Extractor中指定的不是正则表达式,而是给定的XPath路径。

    用xpath从前一个请求中取。这种形式比较适合于返回为xml片段的情况。在需要获得数据的请求上右击添加一个后置处理器-->xPath Extractor。引用名称即下一个请求要引用的参数名称,如填写body,则可用${body}引用它。

    Xpath一般用于返回xml用得多。

    这里需要学习xpath的写法

    参数:

    (1)Reference Name:存放提取出的值的参数。

    (2)XPath Query:用于提取值的XPath表达式。

    (3)Default Value:参数的默认值。

    面板介绍:

    【小注】正则表达式提取器和XPath Extractor的区别:

    ①正则表达式提取器可以用于对页面任何文本的提取,提取的内容是根据正则表达式在页面内容中进行文本匹配;

    ②XPath Extractor则可以提取返回页面任意元素的任意属性;

    ③如果需要提取的文本是页面上某元素的属性值,建议使用XPath Extractor;

    ④如果需要提取的文本在页面上的位置不固定,或者不是元素的属性,建议使用正则表达式提取器。

  • 相关阅读:
    【AngularJS】学习资料
    Anaconda环境安装
    ORM表之间高级设计
    drf序列化和反序列化
    安装与使用django-restframework
    django-restframework
    顶象滑块验证码
    Restful接口规范
    Web API接口
    BBS配置
  • 原文地址:https://www.cnblogs.com/wuzm/p/10908433.html
Copyright © 2020-2023  润新知