性能测试工具 Jmeter GET 请求 参数为 Json 串且参数中存在变量的转化

ckriser · 2017年06月22日 · 最后由 ckriser 回复于 2018年02月24日 · 557 次阅读

今天遇到一个需要GET请求传入一个JSON串,压测中JSON串的ID需要进行参数化的问题;
需求如下:

接口:service.xxx.com/xxx-service/userImage/saveData
请求方式:GET
参数:requestParam={
    "system":"PREFERENCE",
    "method":"sendUserFillPreference",
    "param":{
        "userID":XXX,
        "deviceID":"XXX",
        "cityID":"XXX",
        "modifyType":"XXX",
        "buyDemand":{
            "priceRange":"XXXX"
        },
        "currentType":1,
        "Version":"4.1.0"
    }
}

其中userID需要进行参数化传值,在网上找了下需要通过BeanShell PreProcessor对字符串的参数进行处理,如下:
1.在HTTP请求下添加BeanShell PreProcessor前置处理器:

2.在BeanShell PreProcessor的实现:

3.在HTTP请求中的使用方式:

4.参数化的数据方式:

5.请求结果:

成功响应请求,并参数化成功。

参考:http://blog.csdn.net/hw1932/article/details/55667781

-- 电话号码自增:

${__longSum(${__counter(FALSE,mobile)},19800000000,)}
共收到 3 条回复 时间 点赞
ckriser 关闭了讨论 06月22日 18:42
ckriser 重新开启了讨论 06月22日 18:42

直接把json放在body就可以了。 不用这么复杂

carming_fung 回复

这个是GET请求,GET请求不像POST可以携带消息体的。

ckriser 回复

GET请求可以在URL中直接参数化就可以 了

/club/ajax/submit_invitation_code?user_id=**${user_id}**&token=234234&_platform=hft&_needsNavigationBar=0&_usertype=2&code=1060476896
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册