我在我的jmeter正则表达式测试器上尝试这个脚本:
<a(?:[^>]id\=\"ucManageTaxFilesGridControl_gridAccountHistory_lnkHistoryTaxFileName.*?doPostBack\('(.*?)\&\#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('ucManageTaxFilesGridControl$gridAccountHistory$ctl04$lnkHistoryTaxFileName','')" 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采样器时返回空值。
我错过了什么吗?答案 0 :(得分:1)
使用html解析器获取要检查的属性的值可能更好。然后,您可以对该属性值应用正则表达式。这些正则表达式可能更容易编写。
答案 1 :(得分:0)
rednaw是对的,用正则表达式解析HTML不是一个好主意。 JMeter提供强大的XPath Extractor
像//a[contains(@id,'ManageTaxFilesGridControl')]/@href
这样的东西应该返回回发网址。
如果你对此感到不舒服,那就有一个很好的XPath tutorial at w3schools。通常,XPath比RegEx容易得多。