Tutto il giorno provo a eseguire i test JMeter della mia applicazione JSF. Sono a conoscenza di ViewState
, ma sembrava essere un problema abbastanza semplice. Ho preparato Regular Expression Extractor:Test dell'applicazione JSF con JMeter - Problema ViewState
Reference Name: jsfViewState
Regular expression: id=\"javax.faces.ViewState\" value=\"(.+?)\"
Template $1$
Match No. 1
I seguenti campionatori sono creati con delega e la registrazione.
Prima richiesta /TourJSF/pages/protected/admin/addTourPage.xhtml
. Questa è la richiesta GET
da cui verrà estratto ViewState.
Il POST
richiesta /TourJSF/pages/protected/admin/addTourPage.xhtml
dove. ${jsfViewStete}
è passato attraverso javax.faces.ViewState
Il secondo GET
richiesta, ora molto importante in questo caso.
I risultati:
First GET
. Sulla destra possiamo vedere il valore di ViewState.
Debug Sampler
che dimostra che il valore jsfViewState sia corretto. Possiamo confrontarlo con la schermata precedente.
javax.faces.application.ViewExpiredException: viewId:/pages/protected/admin/addTourPage.xhtml - View /pages/protected/admin/addTourPage.xhtml could not be restored.
ho trovato alcuni blog e argomenti su questo problema, ma molti di loro erano irrisolto. Se è necessario, posso mettere link a questi argomenti. Sono davvero confuso ...
Dove è il problema? Forse qualcosa con
jsessionid
?HTTP Header Manager
in ogniHTTP Request
? Ho cancellatoHTTP Header Manager
ma non è cambiato nulla.- qualcosa con l'applicazione JSF? Quando ho aggiunto context-param in
web.xml
, non c'eraViewExpiredException
ma il contenuto della pagina restituita non era corretto.
io non ci posso credere ... HTTP Cookie Manager nel Gruppo Discussione aiuta. Grazie mille! – LancerX
Ho già utilizzato il gestore dei cookie HTTP, ma ho ancora il problema anche se ho passato lo stato di visualizzazione jsf estratto. Tuttavia, il secondo link che mi hai fornito mi ha aiutato. La sezione "Alcune note" menziona che lo stato di visualizzazione estratto deve essere passato come "codificato". Una volta impostato su encoded, i test jmeter stanno eseguendo con i portlet JSF su WebSphere Portal. Molte grazie!! –