私は一日中、自分の 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たが、返されたページの内容が正しくありませんでした。