我有一个关于从Jmeter中的html响应数据中获取某个值的问题。 我一直在尝试正则表达式和xpath提取器(见下文),但没有运气。
这是我收到的回复数据的一部分:
<table border="0" cellpadding="2" cellspacing="1" style="border-collapse: collapse" id="AutoNumber2" bordercolorlight="#999999" bordercolordark="#999999" width="100%">
<tr>
<td class="head" align="center" colspan="2">Routing Sheet</td>
</tr>
<tr class="altrow">
<td align="right" width="50%" class="formtext">Today's Date:</td>
<td valign="top" width="50%" class="formtext">06/19/2012</td>
</tr>
<tr class="altrow">
<td align="right" width="50%" class="formtext"> HCSC Received Date:</td>
<td valign="top" width="50%" class="formtext">06/19/2012</td>
</tr>
<tr class="tablerow">
<td align="right" width="50%" class="formtext"> Package Log Date:</td>
<td valign="top" width="50%" class="formtext">06/19/2012 04:21PM</td>
</tr>
<tr class="altrow">
<td align="right" width="50%" class="formtext"> Group Specialist:</td>
<td valign="top" width="50%" class="formtext">WATTS, JOHN</td>
</tr>
<tr class="tablerow">
<td align="right" width="50%" class="formtext"> Case Underwriter:</td>
<td valign="top" width="50%" class="formtext">N/A</td>
</tr>
<tr class="altrow">
<td align="right" width="50%" class="formtext"> Medical Underwriter:</td>
<td valign="top" width="50%" class="formtext">N/A</td>
</tr>
<tr class="tablerow">
<td align="right" width="50%" class="formtext">Case Number:</td>
<td valign="top" width="50%" class="formtext">7402628</td>
</tr>
我正试图抓住案件编号。 我一直在尝试使用正则表达式提取器:
Case Number:</td><td valign="top" width="50%" class="formtext">(.+?)</td>
但得到了一个空值。
对于xpath提取器,我尝试了这个:
//table[@id='AutoNumber2']/tbody/tr[8]/td[2]
但它也没有用。 我一直在考虑使用Beanshell将源代码作为字符串抓取并解析数字。 有没有更好的方法来获取这个数字? 我如何使用beanshell来获取响应数据的源代码? 我尝试使用/ html的xpath,但没有运气。
非常感谢
答案 0 :(得分:5)
试试这个,我在你的样本上测试它并且它可以工作:
让我知道这是否适合您
答案 1 :(得分:2)
试试这个xpath:
//table[@id='AutoNumber2']/tr[8]/td[2]
答案 2 :(得分:1)
如果您使用XPath Extractor解析HTML(而非XML!..)响应,请确保使用Tidy(宽容解析器)选项已检查。
< / p>
您的xpath查询应返回您要提取的值 优化您的xpath查询,例如
//table[@id='AutoNumber2']/tbody/tr[td/text()='Case Number:']/td[2]/text()
要使用Beanshell进行解析,请查看以下内容:Using jmeter variables in xpath extractor。
您可以先使用任何其他工具测试您的xpath查询 - 至少是Firefox插件:
答案 3 :(得分:0)
您可以使用ViewResultsTree侦听器组件来测试和调整实际响应数据上的正则表达式。
要了解运行时会发生什么,请使用Debug组件。
乍一看,我发现它不匹配,因为您在正则表达式中缺少新行(Case Number:</td>
之后)。
有关模拟新行的特殊字符,请参阅here。