VUgen:记录琐碎的RMI交互记录无效的脚本?

时间:2010-08-23 08:57:29

标签: java rmi load-testing loadrunner

使用RMI协议在LR / VUgen 9.51中仅记录Java应用程序的登录窗口外观后,生成的脚本将重放java.lang.ArrayIndexOutOfBoundsException。代码片段如下所示:

_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时,我从未见过像这样的问题。

由于播放错误的原因非常明显且独立于所记录代码的其余部分(即仅限于所示的四个语句),我试图在不显示整个脚本的情况下提出问题......

1 个答案:

答案 0 :(得分:0)

啊,RMI,我存在的祸根。我不喜欢LoadRunner中的RMI / Java组合我尽可能多地在Winsock中使用RMI。您可以考虑使用Winsock作为计划B选项,以避免您今天遇到的Java问题,因为Winsock是一个直接的C虚拟用户类型。使用Windows套接字虚拟用户可以避免Java和LoadRunner的黑暗魔法的复杂性,而且它在资源方面的重量更轻,因此速度更快。并且,我只是在Winsock前线受到侮辱,加上它保持了C技能剃刀锋利!