我是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提取器来获取视图状态,如图像所示:
答案 0 :(得分:0)
您必须添加Cookie Manager
您还必须使用Regex Extractor关联JSF View State:
正则表达式:输入类型="隐藏"命名=" javax.faces.ViewState" ID =" javax.faces.ViewState"值="([^"] +)" * /
varName:jsfViewState
模板:$ 1 $
然后你必须在任何地方使用$ {jsfViewState}。
请参阅:
在测试中,将XPath Extractor中的-1替换为1
答案 1 :(得分:0)
JSESSIONID可以在两种模式下运行:
JSESSIONID
附加到请求网址,则需要使用HTTP URL Re-writing Modifier自动处理此值并相应地修改您的网址。 关于Viewstate,您的XPath Extractor似乎是正确的,但是如果形状不是很好的XHTML,您可能需要勾选Use Tidy
框。使用Debug Sampler和View Results Tree听众组合仔细检查myViewState
变量值。