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.类似的还有:

LoadRunner ERROR: java.lang.NumberFormatException的更多相关文章
- 使用JedisCluster出现异常:java.lang.NumberFormatException
在使用JedisCluster进行测试时出现如下异常: java.lang.NumberFormatException: For input string: "7004@17004" ...
- SpringBoot整合Swagger2案例,以及报错:java.lang.NumberFormatException: For input string: ""原因和解决办法
原文链接:https://blog.csdn.net/weixin_43724369/article/details/89341949 SpringBoot整合Swagger2案例 先说SpringB ...
- maven项目中使用redis集群报错: java.lang.NumberFormatException: For input string: "7006@17006"
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [redis.client ...
- javaweb报错:java.lang.NumberFormatException: null
报错环境: JSP向Severlet页面传值,当Serverlet页执行以下语句时,后台日志报错 int softType = Integer.parseInt(request.getParamete ...
- ERROR: java.lang.NullPointerException的一种情况
java.lang.NullPointerException错误,错误原因就是以下六条没配置完: 1.JAVA环境配置正确.2.源码里面的包没有与tomcat的包冲突.3.把数据库文件给导入到了SQL ...
- error:java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
问题:mysql中id存的是int(10),java代码中的id为long,转不过去 解决:mysql中的int要是需要转到java中的long,需要选择unsigned这个选项,即if(unsign ...
- maven项目中使用redis集群报错: java.lang.NumberFormatException: For input string: "7001@17001"
解决:由于redis集群的采用的版本是2.7的,在maven的pom.xml中将jedis的版本改成2.9的就可以了
- java.lang.NumberFormatException: Infinite or NaN
1.异常提示: java.lang.NumberFormatException: Infinite or NaN 2.原因:无法格式化的数字,此数字要么不是个数字,要么是无穷大的数字,从而导致 B ...
- java.lang.NumberFormatException:For input string:"undefined"
在将字符串转换为数字时导致此错误,解决此问题的思路: 1.添加 try catch语句 2.判断字符串是否为数字,将介绍java中判断字符串是否为数字的方法的几种方法 发生错误的代码: java.la ...
随机推荐
- JavaScript笔记 Function
在JavaScript中方法由两部分组成: 方法名和方法体. JavaScript中的方法跟其他传统面向对象语言不同,它跟普通的变量没有区别,唯一不同点是它是Function对象,因此它会有一些Fun ...
- java 建造者模式
package de.bvb.test3; /** * 建造者模式: 假如一个类有4个字段,每个字段或者每几个字段的组合都需要设置为构造函数,构造函数就比较麻烦 * 而且如果再加一个字段进去也不好拓展 ...
- ebs history to look for password
-bash-3.2$ ps -ef|grep tns root 101 2 0 Jun01 ? 00:00:00 [netns] oravibs 10625 1 0 Sep09 ? 00:01:03 ...
- daterangepicker+ bootstrap +php +ajax +datatable双日历的使用
在练习基于bootstrap datatable的使用时,时间插件用到了daterangepicker,特做稍微了解,效果如图: 1.html <div class="panel& ...
- MVVM简介
如果你对MVVM的概念还是不了解,可以参看下面链接:http://baike.baidu.com/view/3507915.htm 我们以WPF+MVVM的本地桌面程序为背景,这样一来我们可以不去操心 ...
- python 学习随笔
要求: 用户输入一个数,比如输入387. 需要把387打乱,然后将这三个数组合成最大数输出. 如果最大值和用户输入的等大,输出-1. 方法一: #!/user/bin/env python # _*_ ...
- 在AngularJS中同一个页面配置一个或者多个ng-app
在AngularJS学习中,对于ng-app初始化一个AngularJS程序属性的使用需要注意,在一个页面中AngularJS自动加载第一个ng-app,其他ng-app会忽略, 如果需要加载其他ng ...
- Concurrency vs. Parallelism
http://getakka.net/docs/concepts/terminology Terminology and Concepts In this chapter we attempt to ...
- Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel
Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel 1.MySQL安装[安装 MariaDB]MariaDB是MySQL的一个分支首 ...
- 阅读笔记 火球——UML大战需求分析 2
从大一一开始接触C++的时候,上课模模糊糊的听王辉老师讲,我们第一学期学的是面向过程,第二学期学的是面向对象,迷迷糊糊的上了一年,到了大二的时候,对这个面向什么没有什么深层次的理解.知道学了JAVA ...