JmeterAPI Testing

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

2017-02-23  本文已影响938人  wwking

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

上一篇下一篇

猜你喜欢

热点阅读