2012-01-30 14 views
1

私たちはアプリケーションでJSF2を使用しています。すべてのJSFページ要求に対して、サーバーによって発行された隠しフィールドjavax.faces.ViewStateがあります。これは毎回すべてのページリクエストの新しいIDです。この値は、次のページ要求のためにサーバーに戻す必要があります。JSF2.0 QAロードツールの状態IDを表示

<input id="javax.faces.ViewState" type="hidden" 
    autocomplete="off" value="3120911944178727151:-831154453296813769" 
    name="javax.faces.ViewState"/> 

負荷テストでは、この値をHTTPリクエストに渡す際に問題があります。

私たちは負荷テストにQALoadツールを使用しています。これは、すべての必須入力フィールドを持つページのhttp要求をシミュレートします。その場合、古いviewState Id値を渡すか空の値を渡すかスキップしてフィールドを渡すと、リクエストはViewExpiredExceptionを投げています。

これをバイパスする方法はありますか?viewStateId負荷テストや他の方法の方が適していますか?

おかげ ビジェイ

+1

QALoadは一度も使用していませんが、HTTPセッションを維持するように設定することはできませんか?それから、すべてのセッション関連の問題はなくなるはずです。 – BalusC

+0

すべての要求に対してviewStateIdを渡す必要がある場合、同じHTTPセッションを維持します。 – user684434

+0

これは正しいです。 QALoadはそれをしませんか?さて、隠れたフィールドを含める方法や、JMeterのような別のストレステストツールを探す方法についてはマニュアルを参照してください。 – BalusC

答えて

0

あなたが以前の応答からこのフィールドの値を抽出し、要求と一緒にそれを渡す必要があります。これにより、サーバーは現在のセッションの正しい値を取得できます。ヘッダー(Set-Cookieヘッダーなど)から取得されたものでも、ページのコンテンツに含まれているものでもかまいません。私はQA負荷に精通していませんが、まともな負荷テストツールがこれを行うことができなければなりません。

2

使用のJMeter がポストプロセッサを追加しテストするためのJMeterの負荷テストツール 設定ページのURLのように - JMeterの中>のXPath Extractorのランタイム

  • 参照名= ViewStateの
  • 値にビューIDを抽出するために、 =これは、動的フェッチする「//input[@id='javax.faces.ViewState']/@value」

はJMeterの内のすべてのページでViewStateのパラメータを追加し、そのパラメータの値は、$ {}のViewStateになりますビューID withすべてのページ。

関連する問題