美文网首页
jmeter之参数关联

jmeter之参数关联

作者: 冲锋丘丘人 | 来源:发表于2019-04-25 11:47 被阅读0次

    使用jmeter进行接口测试时,经常会遇到如下场景:一个接口的返回值作为下一个接口的参数传参,这个时候需要参数关联。jmeter常用参数关联的方式有两种:json提取器和正则表达式提取器。

    json提取器

    json提取器面板介绍,如图:
    image.png
    image.png

    接口返回值如下,提取token,则表达式为:$.token(如果有列表,则用[索引])

    image.png

    在其他接口使用${参数引用名},列子:


    image.png

    正则表达式提取器

    使用正则表达式提取器需要一定的正则表达式知识,此次只会介绍jmeter万金油正则表达式,使用大多数场景
    ():括起来的部分就是要提取的。
    .:匹配除换行外的任何字符串。
    +:代表+号前面的字符必须至少出现一次(一次或多次)。
    ?:代表?前面的字符最多可以出现一次,在找到第一个匹配项后停止(0次或1次)。
    :代表号前面的字符可以不出现,也可以出现一次或者多次(0次、1次或者多次)
    (.*):贪婪模式,匹配尽可能多的字符
    (.*?)或(.+?):匹配尽可能少的字符,一旦匹配到第一个就不往下走了。

    贪婪与非贪婪模式区别:


    image.png

    界面如下,每个参数图中已有介绍,正则表达式不仅可以提取主体,也可以提取信息头、响应信息等等,和json提取器相比,适用范围更加广泛


    image.png

    正则表达式需要注意是否有空格,一般不需要空格。


    image.png

    需要提取的接口返回,提取access_token:


    image.png

    则正则表达式为:access_token":"(.*?)","token_type

    (.*?)为jmeter万金油正则表达式,适用绝大多数场景,即使不会正则表达式,也可以使用,套用即可,简单方便。

    {"data":{"access_token":"F2XV5UV2edXi6vbFqtge0ZuZvzpCtuWyQiTtXNHS","token_type":"Bearer","expires_in":"604800","refresh_token":"8Gu99i7GnDS27uLBu39yPvjZ71QwpTT10alzRYcJ"}}
    ==》
    {"data":{"access_token":"(.?)","token_type":"Bearer","expires_in":"604800","refresh_token":"8Gu99i7GnDS27uLBu39yPvjZ71QwpTT10alzRYcJ"}}
    ==》
    access_token":"(.
    ?)","token_type
    ==》
    token":"(.*?)","token

    调用的方式和json提取器相同:${参数的引用名}

    相关文章

      网友评论

          本文标题:jmeter之参数关联

          本文链接:https://www.haomeiwen.com/subject/ohuagqtx.html