• 【转载】jmeter将上一个接口返回值作为下一个接口的请求参数


    原文地址:http://blog.csdn.net/dreamtl/article/details/68957122

    接口响应结果,通常为HTML、JSON格式的数据,对于HTML的响应结果的提取,可以通过正则表达式,也可以通过XPath 来提取。

    对于JSON格式的数据,可以通过正则表达式、JSON Extractor插件、BeanShell 来提取。

    本次说下如何通过JSON Extractor 插件来提取JSON响应结果。

    比如说,接口返回的JSON响应结果如下格式,如何获取 id 为12341的数据呢

    {
    "status":200,
    "data":[
    {"id":12341,"name":"test1"},
    {"id":12342,"name":"test2"}
    ]
    }

    具体操作步骤:

    1、需要下载插件,下载地址为:https://jmeter-plugins.org/wiki/JSONPathExtractor/
    下载后解压以后将lib和lib/ext中的jar包放到安装目录对应位置,重启即可。

    2、可以添加一个 Dummy Sampler 来验证 JSON的取值

    3、添加一个jp@gc - JSON Path Extractor

    备注: JSON中 data 是一个对象数组, data[0] 代表取的是第一个对象数组,data[*] 代表取全部

    .id 取的是id的值  .name取的是name的值 

    4、执行之后,可以看到 变量 id的值为:12341

    第二:通过正则表达式提取器来获取

       接口测试时需要将不同的接口串联起来,如将登录接口的出参UserStatusToken作为获取客户列表这个接口的入参,这样才能识别你是否是合法的用户。

    1.创建一个线程组

    选中测试计划--》右键--》添加--》Threads(Users)-->线程组

    2.创建一个获取凭证的请求

    在刚刚创建的线程组上右键--》添加--》Sampler--》HTTP请求

     3.创建后置处理器

    选中刚才添加的HTTP请求--》右键--》添加--》后置处理器--》正则表达式提取器

    后置处理器是当这个请求返回后要做的事情,可以使用正则表达式提取器将需要的内容提取出来

    4.正则表达式提取器配置

    引用名称:userStatusToken    是下个请求将要引用到的变量名

    正则表达式:.*"userStatusToken":"(.+?)".*            小括号()表示提取,也就是说对于你想要提取的内容要用它括起来

    模板:$1$      模板是使用提取到的第几个值。因为可能有多个值匹配,所以要使用模板。从1开始匹配,依次类推。这里只有一个,所以使用$1$即可。

    匹配数字表示如何取值。0代表随机取值,1代表全部取值。这里只有一个,填1即可。

    缺省值表示参数没有取到的话,默认给它的值。一般不填。

    这个请求返回的数据如下:

    {"message":"success","statusCode":200,"registerDay":"20","tokenId":"bf1017bc1bb495ae31764b306a3422885f5"}

    我们现在要获取的是上面这个json字符串中tokenId的值,即   bf1017bc1bb495ae31764b306a3422885f5  。

    5.添加下一个请求

    在这个请求中,我们要将上面的Tokenid作为参数一并发送

    同上2,添加一个请求:线程组右键--》添加--》Sampler--》HTTP请求

     6.添加查看结果树

    选中刚刚添加的HTTP请求--》右键--》监听器--》查看结果树

    7.执行后,即可通过“查看结果树”查询

  • 相关阅读:
    (原创)常用加密解密
    Winforms和资源(Resources/resx)
    delphi中的第三方控件如何安装 (转)
    IT博客
    访问FTP (转)
    设置radasm,使其支持8086 16位asm(转)
    EditPlus注册码(转)
    windows资源管理器已停止工作 (转)
    当发生异常时,怎样能不让‘delphi的异常提示框出现’而出现自己的‘异常提示框’?
    清除复制网页带过来的背景颜色 (转)
  • 原文地址:https://www.cnblogs.com/tiechui2015/p/11323717.html
Copyright © 2020-2023  润新知