0

我必须对几乎在它发送的每个请求中使用 javax.faces.FormSignature 的应用程序进行负载测试。我正在使用这样的 xPath 提取器来获取 FormSignature 的值:

/html/body/div/div/div/form/input[@name='javax.faces.FormSignature']/@value

然后我声明一个用户定义的变量并解析我使用正则表达式提取器得到的值,如下所示:

value=(.+?)

我使用 HTTP 代理服务器来记录我的会话,所以我 100% 确定从哪些 GET 请求中提取这些值以及将使用这些值的 POST 请求。它不起作用,我还没有在网上找到任何关于使用 FormSignature 和 JMeter 的信息。最重要的是,我对 JMeter 也很陌生。有人可以帮我吗?


好的,我之前检查了 Tidy 选项。并且 xpath 有效(我已经检查了 firebug)。这就是我所拥有的:有一个名为 FORM 的 jmeter 用户变量,然后我使用上面提到的 xpath 来提取一个值并将其应用于 FORM。然后我使用正则表达式提取器仅提取值 (value=\"(.+?)\")。我将这个正则表达式提取器应用于我的 jmeter 变量 ${FORM} 因为这是一个(我认为)包含我之前提取的 xpath 的结果。此正则表达式提取器的参考名称是 FORMVALUE,这是我传递给发布请求的值。我没有得到明确的错误,它只是不起作用。传递给我的请求的值是我设置的默认值,即“未找到 FORMVALUE”。有任何想法吗?

4

2 回答 2

1

您是否尝试过不使用完整路径并使用双引号,如下所示:

//input[@name="javax.faces.FormSignature"]/@value
于 2012-07-23T23:48:00.053 回答
0

由于您使用 XPath Extractor 来解析 HTML(不是 XML)响应,因此请确保选中Use Tidy(容错解析器)选项(在XPath Extractor 的控制面板中)。

使用下面 mbonaci 答案中的 xpath 查询,检查上面提到的选项,然后重试。

于 2012-07-24T07:54:48.493 回答