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

       有时候多个请求是层级关系,即第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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容