• LoadRunner ERROR: java.lang.NumberFormatException


      Loadrunner中使用lr_xml_get_values()获取服务端返回的字符串LcsId,LcsId为double,需要将该值转换为 int 后传入下一次请求中。 

      报错如下:Error is : Exception Occurred while invoking WriteObject method; Debugging information: cause-exception : java.lang.NumberFormatException.

      解决方法:

      需要对flex_amf_call()的Response进行数据提取,提取的数据为double,但是submit.c中需要int,于是牵扯数据类型转换。

      本以为只需要使用一个整型变量transferedLcsId接收,然后在submit.c中将<string>transferedLcsId</string><int>***</int>的“***”替换为“transferedLcsId”,就好了,但是始终报错,查看扩展日志后发现,是格式转换的问题;

      最终添加lr_save_int()将transferedLcsId保存为int,得以解决,如下。

    错误代码:

    int  transferedLcsId;    //存放在globals.h文件中

    flex_amf_call(

     "AMF3_call_16",

     "ResponseParameter=response",

    );

    lr_xml_get_values("XML={response}",

     "Query=//string[contains(text(),'id')]/following::double",

     "ValueParam=id",

     LAST

    );

    transferedLcsId = atoi(lr_eval_string ("{id}"));

    解决后代码:

    int  transferedLcsId;    //存放在globals.h文件中

    flex_amf_call(

       "AMF3_call_16",

     "ResponseParameter=response",

    );

    lr_xml_get_values("XML={response}",

     "Query=//string[contains(text(),'id')]/following::double",

     "ValueParam=id",

     LAST

    );

    transferedLcsId = atoi(lr_eval_string ("{id}"));

    lr_save_int (transferedLcsId,"transferedLcsId");  //重要的保存

    flex_amf_call(

     "AMF3_call_17",

     "<string>transferedLcsId</string><int>transferedLcsId</int>"

    );

    flex_amf_call(

     "AMF3_call_17",

     "<string>transferedLcsId</string><int> { transferedLcsId } </int>"

    );

      总结:虽然transferedLcsId是整型变量,但是需要使用lr_save_int函数将该变量用loadrunner可以识别的参数化方式保存起来,即需要从C语言格式转换为LR可以识别的格式,再应用到录制的脚本中。

      lr_save_int在man手册中的功能解释:Saves an integer to a parameter.类似的还有:

  • 相关阅读:
    泛型
    HTTP和HTTPS
    计算机网络(三)应用层
    练习38-操作列表
    第27讲:集合—在我的世界里,你就是唯一
    第25~26讲:字典:当索引不好用时
    第1~2讲:数据结构和算法绪论
    第23~24讲:这帮小兔崽子(斐波那契数列)和汉诺塔游戏
    练习36--设计和调试
    001-定义电子日历类
  • 原文地址:https://www.cnblogs.com/xpp142857/p/6039003.html
Copyright © 2020-2023  润新知