2013-12-16 214 views
0

我尝试这个剧本我JMeter的正则表达式测试仪:正则表达式的JMeter返回NULL

<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> 

它返回我预期的结果,但在返回空值:

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

这个HTML代码进行测试执行我的http采样器。

我想念什么?

回答

1

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

0

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

类似//a[contains(@id,'ManageTaxFilesGridControl')]/@href应该返回回发URL。

如果您不满意,还有一个不错的XPath tutorial at w3schools。一般来说,XPath比RegEx容易得多。