0

我在使用 jmeter 从 HTTP 请求的 HTML 响应中提取值时遇到问题。

要从中提取的此源 html 代码:

<input type="text" name="ifu" size="32" value="1600553" class="champ_texte">

我正在使用以下正则表达式:

name of reference = ifu 
regular expression = //input[@type="text"][@name="ifu"][@ size="32"][@value="1600553"][@class="champ_texte"]

我的表达有问题。
注意:我的 html 响应是 Action struts 的响应。

4

3 回答 3

2

正则表达式可以是

input type=\"text\" name=\"ifu\" size=\"32\" value=\"(\\d+)\" class=\"champ_texte

更详细地说,

String x  ="<input type=\"text\" name=\"ifu\" size=\"32\" value=\"1600553\" class=\"champ_texte\">";
Pattern p = Pattern.compile("input type=\"text\" name=\"ifu\" size=\"32\" value=\"(\\d+)\" class=\"champ_texte");
Matcher m = p.matcher(x);
if (m.find())
   System.out.println(m.group(1));
于 2012-10-19T16:21:08.490 回答
2
  1. 如果您使用XPath Extractor解析 HTML 响应,请确保选中Use Tidy(容错解析器)选项。

  2. 您的 xpath 查询应该返回您要提取的值。
    因此,要获取“输入”的“值”,您必须使用如下查询:
    //input[@type="text"][@name="ifu"][@class="champ_texte"]/@value
    提取的值(如果有)将存储在指向“参考名称”字段的 jmeter 变量中(在您的情况下为 ${ifu})。

  3. 您可以首先使用任何其他工具测试您的 xpath 查询 - 至少是 Firefox 插件:

于 2012-05-08T11:58:52.503 回答
1

如果您要提取的是 value 属性,则使用 Css/Jquery Extractor 会更好:

使用配置:

  • Css/Jquery 表达式:输入[name=ifu]

  • 属性:价值

于 2014-08-08T05:12:42.653 回答