使用正则表达式从jmeter中的HTML响应中提取值

时间:2012-05-08 10:19:09

标签: html regex xpath response jmeter

我在使用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的响应。

3 个答案:

答案 0 :(得分:2)

  1. 如果您使用XPath Extractor解析HTML响应,请确保使用Tidy(宽容解析器)选项已检查。

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

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

答案 1 :(得分: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));

答案 2 :(得分:1)

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

使用config:

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

  • Attrbute:value