zoukankan      html  css  js  c++  java
  • jmeter的关联使用(具体场景)

    jmeter使用过程中发现关联还是很有必要的,我结合我实际的业务给大家分享一下

    1.正则表达式,

    变量名还是自己定义,变量的值格式,如:aaa(.+?)bbb就是响应结果中真正的变量取值范围,其中aaa是左边界,bbb是右边界,(.+?)是具体值

     ,"carModelId":就是左边界,     ,"就是右边界,1是具体值,我们认为他是变化的,注意一点就是左右边界必须是不变的,如果变的话,这个取值就没有意义了

    2.JSON extractor

    这种方式多用于关联的变量值是多个的场景,可以层级路径取,举个例子

    场景:一个报价接口,一个下单接口,报价中的价格和车型及车型id都是动态变化的,下单时这些变量都会用到,所以需要关联,但由于报价的响应结果中有多高报价的动态变量,所有需要按层级取到特定的key-value

    操作步骤:

    1.在报价请求中添加JSON extractor,如下图:

     2.JSON Extractor页面

       a、variable names这个是自己定义的变量名,如果是多个用;隔开

       b、JSON Path expressions这个是每个变量的层级取值,每个值之间用;隔开,数量根据变量名个数决定,取值的方法就是把报价接口的响应数据形成JSON格式(第二张图),按照层级取到想要的value,格式:$.data.carPriceInfoList[0].carPrices[0].carModelId,如第三张图

     

         最后在jmeter校验一下这个value是否能取到值,如下图,可以取到值

     3.Match no,这个一般用1,或-1表示,0表示随机,1表示第一个,-1表示所有,之间还是用;隔开,数量根据变量名个数决定

    4.Default value,这个随便写个值就行,之间还是用;隔开,数量根据变量名个数决定

     二、值得应用

    通过上面两种方式取到动态变化的值,怎么应用呢,尤其对于一个值是由多个变化的值组成的,如:下单,下单的钱是由车型报价的钱+增值服务组成,但是这种情况使用正则表达式取到的值不一定取得准确,所以我推荐使用JSONExtractor取到的值叠加到一起就可以了

     操作步骤:

    1.首先拿到每个变量名

    2.然后通过函数助手,将每个变量名通过sum函数加到一起

    通过选项菜单-函数助手对话框

     

     3拿到函数助手生成的字符串去取代用到 此变量的value值就可以了

  • 相关阅读:
    Java中的经典算法之冒泡排序(Bubble Sort)
    Appium环境搭建(Windows版)
    Jenkins安装与配置
    Jenkins+ANT+Jmeter 接口测试的实践(转载)
    bugku_web_phpcms1(未完待续)
    bugku_web_Bugku-cms1(未完待续)
    牛客网 PAT 算法历年真题 1010 : 月饼 (25)
    【测试的艺术】+ 封装
    【数据库】+ powerdesigner
    【Git】+IDEA中无法使用git命令
  • 原文地址:https://www.cnblogs.com/wangguoyuan-09/p/13051231.html
Copyright © 2011-2022 走看看