私は一日中、自分の JSF アプリケーションの JMeter テストを実行しようとしています。私は知ってViewState
いますが、それは非常に単純な問題のようでした。正規表現エクストラクタを用意しました:
Reference Name: jsfViewState
Regular expression: id=\"javax.faces.ViewState\" value=\"(.+?)\"
Template $1$
Match No. 1
次のサンプラーは、プロキシとレコーディングで作成されます。
最初のリクエスト/TourJSF/pages/protected/admin/addTourPage.xhtml
。これはGET
、ViewState が抽出される要求です。
POST
リクエストは/TourJSF/pages/protected/admin/addTourPage.xhtml
. ${jsfViewStete}
に渡されますjavax.faces.ViewState
この場合、 2 番目のGET
要求が非常に重要になります。
結果:
まずGET
。右側に、ViewState の値が表示されます。
Debug Sampler
これは、jsfViewState 値が正しいことを示しています。前の画面と比較できます。
javax.faces.application.ViewExpiredException: viewId:/pages/protected/admin/addTourPage.xhtml - View /pages/protected/admin/addTourPage.xhtml could not be restored.
この問題に関するいくつかのブログやトピックを見つけましたが、それらの多くは未解決でした。必要に応じて、これらのトピックへのリンクを張ることができます。私は本当に混乱しています...
問題はどこにありますか?多分何か
jsessionid
?HTTP Header Manager
すべてのHTTP Request
?削除HTTP Header Manager
しましたが、何も変わりませんでした。- JSFアプリケーションで何か?context-param
com.sun.faces.enableRestoreView11Compatibility
をに追加したところweb.xml
、何もありませんでしViewExpiredException
たが、返されたページの内容が正しくありませんでした。