【发布时间】:2016-12-26 10:20:51
【问题描述】:
进行负载测试时,我遇到了需要使用动态变量 (javax.faces.ViewState) 的情况。
解决方案是使用 XPath 或正则表达式提取器。
它们都不起作用(...&javax.faces.ViewState=%24%7Bvar1%7D):
我使用的变量的值是
<input type="hidden" name="javax\.faces\.ViewState" id="javax\.faces\.ViewState" value="(.+?)"autocomplete="off" />
和
//input[@id='javax.faces.ViewState']/@value
来源:http://se7so.blogspot.com/2012/12/apache-jmeter-along-with-jsf-pages.html
更新1:
JSF生成的参数:
更新2
使用谷歌浏览器的控制台:
我错过了什么?
【问题讨论】:
-
在您的第一个屏幕中,您在 XPath 提取器表单中输入了一个正则表达式,对吗?将
//input[@id='javax.faces.ViewState']/@value放在XPath Extractor 中,如果页面上有input应该可以工作。 -
你真的尝试过使用Regular Expression Extractor吗?查看响应数据也会很有用...
-
@WiktorStribiżew,它没有用,我更新了问题。 ${var1} 仍然被误解。
-
使用正则表达式提取器时,请尝试转义所有引号...
-
@IvanMarkovic,带有 //input[@id='javax.faces.ViewState']/@value?使用反斜杠转义?
标签: regex tomcat xpath jsf-2 jmeter