2010-08-23 89 views
1

使用RMI协议在LR/VUgen 9.51中记录我们的Java应用程序的登录窗口的外观后,所得到的脚本将使用java.lang.ArrayIndexOutOfBoundsException重放。的代码段如下所示:VUgen:记录琐碎的RMI交互记录无效的脚本?

_hashtable2 = new Hashtable(); 
_object_array3 = ((java.util.Collection)_hashtable2.values()).toArray(); 
_hashtable2.put("sessionId",(java.lang.String)_object_array3[0]); //yields exception! 
_boolean1 = _mopsconstantserverif1.psi_requiresHostCommunication((java.util.Hashtable)_hashtable2, (java.util.Vector)null); 

当然产生空哈希表,将其转换成一个阵列,并引用其第一个数组元素必须产生一个ArrayIndexOutOfBoundsException,是吗?但是为什么LR会生成这种类型的代码呢?这是一个错误,或者我做错了什么?在使用RMI和LoadRunner时,我从来没有见过像这样的问题。

由于播放错误的原因是很明显的,并且独立于所记录的代码(即仅限于所示的四个报表)的其余部分,我试着问而不显示整个脚本...

+0

哇,无论是我的问题是愚蠢的还是毫无意义的,或者是100%的知识差距......我仍然相信第三种选择。 – TheBlastOne 2010-08-31 11:41:17

+0

来吧伙计们,通过向我投掷答案来消化我的声望点......请! – TheBlastOne 2010-10-21 11:54:05

+0

为什么不直接向写LOADRUNNER的人直接提出这个问题,然后...... – 2010-10-23 13:37:58

回答

0

啊,RMI,我的存在的祸根。我很不喜欢LoadRunner中的RMI/Java组合,我尽可能多地在Winsock中工作。您可能会考虑将Winsock用作B计划选项,以避免您今天遇到的Java问题,因为Winsock是直C类虚拟用户。 Windows套接字虚拟用户的使用避免了Java和LoadRunner的黑暗魔法的复杂性,再加上它在资源方面的权重更轻,因此速度更快。而且,我只是Winsock前线的惩罚饕plus者,加上它保持了C技巧的锐利!

+0

+1术语“skillz”-1不回答问题。 :) – TheBlastOne 2011-05-21 04:08:57

+0

也可以使用该应用程序检出WinSock,并查看LR11的RMI支持。如果WinSock建议获胜,我会接受这个答案,如果你清理语法一点。 – TheBlastOne 2011-05-21 04:09:56

+0

我不相信RMI支持已经在LoadRunner 11中发生了很大的变化。在这一点上,RMI是一个市场历史协议,在它的演进中具有非常低的波动水平 - 从本质上说,接口是稳定的并且一直如此是十年或更长时间的一部分。我最好的猜测是,他们只是将通用代码移植到新版本中,并在较新的操作系统上验证了几个较新Java版本的工作行为,但这是我所期望的。 – 2011-05-25 12:52:09