web_custom_request请求关联session的问题(二)

问题

loadrunner 脚本中关联session仍不可用

过程分析

//错误写法
char *body;
body=
        "{"
        "\"body\":{"
            "\"scanCode\":\"xxxxxxxxxx\","
            "\"longitude\":\"xxx\","
            "\"latitude\":\"xxx\","
            "\"openLock\":\"0\""
        "},"
        "\"header\":{"
            "\"appType\":\"1\","
            "\"appVersion\":\"2.1.2\","
            "\"cardCode\":\"xxxxxxxxxx\","
            "\"channelId\":\"xxxxxxxxxx\","
            "\"cityId\":\"591\","
            "\"deviceId\":\"xxxxxxxxxx\","
            "\"sessionId\":{getSessionId}"
  • 将获得的getSessionId打印出来,直接替换到后面的请求{getSessionId}里发请求时遇到换行符返回登录失败
  • 将换行符转义(删除过滤掉发现也行)能发起正确的请求响应
  • 请求的数据是Json格式,含 {}符号,参数的获取也是{},是否存在冲突
  • 最后发现定义的变量里不能这么用参数,通过打印body数据发现打印的是字符串“{getSessionId}”,没有进行值替换

处理

// 没有初始化body,会得到不可预知的结果
char body[1024]="";
strcat(body,
        "{"
        "\"body\":{"
            "\"scanCode\":\"xxxxxxxxxx\","
            "\"longitude\":\"xxx\","
            "\"latitude\":\"xxx\","
            "\"openLock\":\"0\""
        "},"
        "\"header\":{"
            "\"appType\":\"1\","
            "\"appVersion\":\"2.1.2\","
            "\"cardCode\":\"xxxxxxxxxx\","
            "\"channelId\":\"xxxxxxxxxx\","
            "\"cityId\":\"591\","
            "\"deviceId\":\"xxxxxxxxxx\","
            "\"sessionId\":");

    strcat(body,lr_eval_string("{getSessionId}"));

    strcat(body,"}}");

再次发起请求,得到了预期的响应。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值