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

顺流而下 · 2017年06月22日 · 最后由 顺流而下 回复于 2018年02月24日 · 3787 次阅读

今天遇到一个需要 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 条回复 时间 点赞
顺流而下 关闭了讨论 06月22日 18:42
顺流而下 重新开启了讨论 06月22日 18:42

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

菠萝蜜 回复

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

顺流而下 回复

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

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