1

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を使用しているときに、このような問題は見たことがありません。

再生エラーの原因は非常に明白であり、記録されたコードの残りの部分とは無関係であるため(つまり、示されている4つのステートメントに限定されます)、スクリプト全体を表示せずに質問しようとしています...

4

1 に答える 1

-1

ああ、RMI、私の存在の悩みの種。LoadRunnerでのRMI/Javaの組み合わせがとても嫌いで、Winsockでできるだけ多くのRMI作業を行います。WinsockはストレートCの仮想ユーザータイプであるため、今日発生しているJavaの問題を回避するために、プランBオプションとしてWinsockの使用を検討することもできます。Windowsソケットの仮想ユーザーを使用すると、JavaとLoadRunnerの黒魔術の複雑さを回避できます。さらに、リソースの面で軽量化され、結果として高速になります。そして、私はWinsockの最前線での罰の無駄遣いであり、Cスキルのかみそりを鋭く保ちます!

于 2011-05-20T12:38:11.933 に答える