Test de l'application JSF avec le problème JMeter - ViewState

Tous les jours j'essaie d'exécuter des tests JMeter de mon application JSF.
Je suis conscient de ViewState, mais il semblait être assez simple. J'ai préparé Expression Régulière Extractor:

Reference Name: jsfViewState
Regular expression: id=\"javax.faces.ViewState\" value=\"(.+?)\"
Template $1$
Match No. 1

Test de l'application JSF avec le problème JMeter - ViewState

La suite des échantillonneurs sont créés avec proxy et d'enregistrement.

Première demande /TourJSF/pages/protected/admin/addTourPage.xhtml. C'est GET demande à partir de laquelle l'état d'affichage seront extraites.

Test de l'application JSF avec le problème JMeter - ViewState

La POST demande /TourJSF/pages/protected/admin/addTourPage.xhtml où .${jsfViewStete} est passé dans javax.faces.ViewState

Test de l'application JSF avec le problème JMeter - ViewState

La deuxième GET demande, aujourd'hui très important dans ce cas.

Test de l'application JSF avec le problème JMeter - ViewState

Les résultats:

Première GET. Sur la droite on peut voir la valeur de l'état d'affichage.

Test de l'application JSF avec le problème JMeter - ViewState

Debug Sampler qui montre que jsfViewState valeur est correcte. Nous pouvons le comparer avec l'écran précédent.

Test de l'application JSF avec le problème JMeter - ViewState

javax.faces.application.ViewExpiredException: viewId:/pages/protected/admin/addTourPage.xhtml - View /pages/protected/admin/addTourPage.xhtml could not be restored.

Test de l'application JSF avec le problème JMeter - ViewState

J'ai trouvé quelques blogs et les sujets à propos de ce problème, mais beaucoup d'entre eux ont été résolus. Si c'est nécessaire je peux mettre des liens vers ces sujets. Je suis vraiment confus...

Où est le problème? Peut-être quelque chose avec

  • jsessionid?
  • HTTP Header Manager dans tous les HTTP Request? J'ai supprimé HTTP Header Manager mais rien n'a changé.
  • quelque chose avec la JSF apllication? Quand j'ai ajouté context-param com.sun.faces.enableRestoreView11Compatibility en web.xmlil n'y a pas de ViewExpiredException mais le contenu retour à la page n'était pas correcte.

source d'informationauteur LancerX