我是JMeter的新手 .
我正在使用JMeter来测试JSF应用程序中的场景,登录应用程序的场景和打开crud页面(issue_warning_create.jsf)以在数据库中创建记录并且我的浏览器成功但是当我使用JMeter测试场景时它失败了例外:
javax.faces.application.ViewExpiredException:viewId:/secure/adt/fin/issue_warning_create.jsf无法恢复 .
我注意到JMeter使用不同的会话ID而不是会话ID来自响应 . 我试图监听注销以终止会话并在JMeter中使用新会话发出新请求,但也给了我相同的异常 . 我添加了http cookie管理器和xpath提取器来获取图像中的视图状态:
2 回答
您必须添加Cookie Manager
您还必须使用Regex Extractor关联JSF View State:
然后,您可以在任何位置使用$ .
看到:
In your test, replace -1 in XPath Extractor by 1
JSESSIONID可以在两种模式下运行:
作为HTTP Cookie,在这种情况下,HTTP Cookie管理器将完成这一操作
作为URL的一部分 . 如果您的应用程序将
JSESSIONID
附加到请求URL,则需要使用HTTP URL Re-writing Modifier自动处理此值并相应地修改您的URL .关于Viewstate,您的XPath Extractor似乎是正确的,但是如果形状不是很好的XHTML,您可能需要勾选
Use Tidy
框 . 使用Debug Sampler和View Results Tree listener组合仔细检查myViewState
变量值 .