使用Jmeter + JSF + Primefaces

时间:2013-01-04 13:56:13

标签: jsf primefaces viewstate jmeter

我想用Jmeter对我的jsf应用程序(使用Primefaces)进行压力测试,我面临一个奇怪的(但预期的)问题。

我正在使用的jmeter设置很好并正常工作,它使用正则表达式提取器来获取视图状态,JSESSIONID的HTTP URL重写修改器,HTTP Cookie管理器和记录控制器。

我想要使用的录制场景是一个包含一些Primefaces 动态标签的页面,在这些标签页面中有PF命令按钮,用于保存数据。

现在的问题是这样的:当我用保存正则表达式提取的变量的变量替换记录的ViewState时,带有tabviews的页面无法导航到其他选项卡(并且无法呈现保存按钮)所以页面无法模拟储蓄。

我想到的是,当你在动态tabview中更改标签时,Primefaces会使用新的viewstate执行ajax请求,后续的POST请求必须使用此viewstate来了解更改的标签。

还有其他人以某种方式解决了这个问题吗?

先谢谢!

1 个答案:

答案 0 :(得分:0)

在发送请求之前,我使用GET方法获取第一个屏幕,并使用正则表达式保留id。然后我会发送请求。对于打开的每个新屏幕,必须重新保存viewState以覆盖前一个屏幕。

  • [简单的控制器]
    • [html request]打开视图e save viewState(方法GET)
      • [正则表达式提取器]提取$ {myViewState}
    • [html request]您的请求发送$ {myViewState}
    • [html request] OTHER打开视图e save viewState(方法GET)
      • [正则表达式提取器]提取$ {myViewState}
    • [html request]您的OTHER请求发送$ {myViewState}

...对于每个打开的新屏幕,都必须重新保存viewState以覆盖前一个屏幕。