美文网首页JmeterAPI Testing
Jmeter请求1的返回结果,作为请求2的参数

Jmeter请求1的返回结果,作为请求2的参数

作者: wwking | 来源:发表于2017-02-23 20:22 被阅读938次

           有时候多个请求是层级关系,即第2个请求的参数,是第1个请求的返回结果。对于jmeter3,提供了JSON Extractor,可以提取相应的返回值。jmeter2则无此功能,需要单独下载插件https://jmeter-plugins.org/wiki/JSONPathExtractor/

    例如需求如下:

    1. code生成:

    http://xx/oauth/test/code

    返回结果:{"code":"ryAoo-74qDViz7JdPJnZdbjCU1FQ4qHsj2HNwZhRKbNmQBM4UtdMETryCyZmWtdv2vtl-RHVE3E"}

    2.根据code获取access_token

    http://xx/oauth/access_token

    Post json: {"client_id":"01234567","client_secret":"0123456789012345","code":"第一步的code","grant_type":"authorization_code"}

    返回结果:{"access_token":"xxxxxxxxxxxxxx"}

    3.根据获取用户信息

    http://xx/oauth/api/userinfo

    Post json:{"access_token":"xxxxxxxxxxxxxx"}

    返回结果:{"mobile":"137xxxxxx", "nickname":"test..x"}

    测试思路:

    1.配置线程组--事务控制器--简单控制器--http请求,获得登陆code

    http请求:https://XXX/oauth/test/code

    事务控制器,选择父节点,方便树形结果分类查看

    2.添加后置处理器--JSON Extractor

    注:

    Variable names : 名称

    JSONPath Expression:JSON表达式

    Match Numbers:匹配哪个,可为空即默认第一个

    Default Value:未取到值的时候默认值

    3.设置请求2,把请求1的返回结果作为请求2 的参数

    https://xx/oauth/access_token?client_id=01234567&client_secret=0123456789012345&code=${code}&grant_type=auth_code

    采用post方式

    常见问题:

    http://www.cnblogs.com/luihengk/p/7000486.html

    相关文章

      网友评论

        本文标题:Jmeter请求1的返回结果,作为请求2的参数

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