JSF2.0查看QA加载工具的状态ID

时间:2012-01-30 17:08:42

标签: jsf-2 load-testing

我们在我们的应用程序中使用JSF2。对于每个JSF页面请求,都有一个由服务器发出的隐藏字段javax.faces.ViewState。这是每次每个页面请求的新ID。需要将此值传递回服务器以进行下一页请求。

<input id="javax.faces.ViewState" type="hidden" 
   autocomplete="off" value="3120911944178727151:-831154453296813769"
   name="javax.faces.ViewState"/>

在负载测试中,我们在为HTTP请求传递此值时遇到问题。

我们正在使用QALoad工具进行负载测试,该工具模拟具有所有必需输入字段的页面的http请求。在这种情况下,如果我们传递旧的viewState Id值或传递空值或跳过传递字段,请求将抛出ViewExpiredException

有没有办法绕过这个viewStateId字段进行负载测试或其他更好的方法?

由于 维杰

2 个答案:

答案 0 :(得分:2)

使用Jmeter作为负载测试工具 在Jmeter中配置页面URL以进行测试 添加后处理器 - &gt; Jmeter中的XPath Extractor在运行时提取视图ID

  • 参考名称= ViewState
  • value =“//input[@id='javax.faces.ViewState'] / @ value”

在Jmeter中的每个页面中添加ViewState参数,该参数的值为$ {ViewState},这将获取每个页面的动态视图ID。

答案 1 :(得分:0)

您需要从先前的响应中提取此字段的值,并将其与请求一起传递。这允许服务器为当前会话获取正确的值。它可以来自标题(例如Set-Cookie标题),也可以在页面内容中找到。我不精通QA负载,但任何体面的负载测试工具都必须能够做到这一点。