2013-12-16 231 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容易得多。