Lösung: Durch die Verwendung eines "Regular Expression Extractor" kann immer der richtige Feldinhalt mitgeschickt werden.
Schritt 1:
Bei JMeter muss in der Thread Gruppe ein "Regular Expression Extractor" angelegt werden mit folgenden Eigenschaften:
Für die SUN-RI:
- Respons Field to check: body
- Reference name: jsfViewState
- Regular Expression: <input type="hidden" name="com\.sun\.faces\.VIEW" id="com\.sun\.faces\.VIEW" value="(.+?)" />
- Template: $1$
- Match No.: 0
- Default Value: leer
- Respons Field to check: body
- Reference name: jsfViewState
- Regular Expression: <input type="hidden" name="javax\.faces\.ViewState" id="javax\.faces\.ViewState" value="(.+?)" />
- Template: $1$
- Match No.: o
- Default Value: leer
Bei jeder aufgezeichneten JSP im Recording Controller muss unter "Parameter die mit dem Request gesendet werden" die oben definierte Variable gesetzt werden:
- bei SUN RI
- Das Feld "com.sun.faces.VIEW" mit dem Wert "${jsfViewState}" überschrieben werden
- bei Apache MyFaces
- Das Feld "javax.faces.ViewState" mit dem Wert "${jsfViewState}" überschrieben werden
2 Kommentare:
Danke funktioniert hervorragend.
Hallo ,
ich bekomme trotz diese Anpassungen mehrere Exceptions wenn ich die Lasttests durchführe:
javax.faces.application.ViewExpiredException: viewId:/presentation/task.jsf - View /presentation/task.jsf could not be restored.
ich benutze jsf mit Facelets.
muss ich noch was anpassen?ich bin am verzweifeln!
Kommentar veröffentlichen