工作中遇到的问题:从线程组-1里的某个请求的返回数据里取出某个值,然后将这个值给线程组-2里的某个请求用。
   解决思路:从线程组-1的一个接口请求的返回json中取出id的值,然后给线程组-2的一个Get请求用,在这里我是选择用BeanShell来处理。

   解决步骤:

   1.在线程组-1里的需要取返回值数据的请求下加后置处理器,代码如下:    

import org.json.*;

String response_data = prev.getResponseDataAsString();

JSONObject data_obj = new JSONObject(response_data);

String apps_str = data_obj.get("data").get("user").get("id").toString();

props.put("transfer_id",apps_str);

print(apps_str);

    2.在线程组-2的需要用到id的Get请求下加前置处理器BeanShell PreProcessor,代码如下:

String transfer_id = props.get("transfer_id");

vars.put("transfer_id",transfer_id);

print(transfer_id);

    3.把获取的变量写入到需要改参数的请求中,代码如下:

解释说明:

   1、vars.get(String key):从jmeter中获得变量值
    2、 vars.put(String key,String value):数据存到jmeter变量中
   3、props.get("START.HMS");  注:START.HMS为属性名,在文件jmeter.properties中定义
   4、props.put("PROP1","1234");
   5、getResponseDataAsString():获取响应信息
    6、getResponseCode() :获取响应code

jmeter如何引入第三方的jar包:

1、首先将【commons-codec-1.9.jar】jar包放在jemeter文件夹下的lib/ext下面;

2、新建一个测试计划,同时将jar包导入在测试计划中即可.

 

注:以上的问题是我自己在工作中遇到的,然后也是查找各种资料找到的,分享出来供需要的学习,有问题可以一起交流,谢谢!QQ:1911057550

 

 

 

 

posted on 2017-04-11 13:24  捉虫师  阅读(432)  评论(0)    收藏  举报