正则表达式Jmeter返回null

时间:2013-12-16 08:51:54

标签: html regex jmeter

我在我的jmeter正则表达式测试器上尝试这个脚本:

<a(?:[^>]id\=\"ucManageTaxFilesGridControl_gridAccountHistory_lnkHistoryTaxFileName.*?doPostBack\(&#39;(.*?)\&\#39[^>]*)?>(.*?)<\/a>\r\n.*?\r\n.*?\r\n.*?<span\sid\=\"ucManageTaxFilesGridControl_gridAccountHistory_lblHistoryStatus.*?\".*?>Opened<\/span>

测试了这个HTML代码:

<a id="ucManageTaxFilesGridControl_gridAccountHistory_lnkHistoryTaxFileName_2" href="javascript:__doPostBack(&#39;ucManageTaxFilesGridControl$gridAccountHistory$ctl04$lnkHistoryTaxFileName&#39;,&#39;&#39;)" style="font-family:Tahoma;font-size:0.8em;font-weight:bold;">TaxFile1</a>

              </td><td>                                                
                <span id="ucManageTaxFilesGridControl_gridAccountHistory_lblHistoryStatus_2" style="color:Black;font-family:Tahoma;font-size:0.8em;">Opened</span>

它返回预期的结果,但在执行我的http采样器时返回空值。

我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

使用html解析器获取要检查的属性的值可能更好。然后,您可以对该属性值应用正则表达式。这些正则表达式可能更容易编写。

答案 1 :(得分:0)

rednaw是对的,用正则表达式解析HTML不是一个好主意。 JMeter提供强大的XPath Extractor

//a[contains(@id,'ManageTaxFilesGridControl')]/@href这样的东西应该返回回发网址。

如果你对此感到不舒服,那就有一个很好的XPath tutorial at w3schools。通常,XPath比RegEx容易得多。