在使用 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 时,我从未见过这样的问题。
由于播放错误的原因非常明显,并且与记录的代码的其余部分无关(即仅限于显示的四个语句),因此我尝试在不显示整个脚本的情况下询问...