为什么响应断言在 JMeter 中不起作用

Why Response Assertion is not working in JMeter

这是我的文字回复

<p class="equipment-left">
        <span id="p_lt_zoneContent_pageplaceholder_p_lt_ctl02_TireSearchResults_lblOriginalFrontEquipmentHeader">Original Equipment-Front: </span>
        <span class="equipment-num">
            <a id="p_lt_zoneContent_pageplaceholder_p_lt_ctl02_TireSearchResults_hypOriginalFrontEquipment" href="javascript:__doPostBack(&#39;p$lt$zoneContent$pageplaceholder$p$lt$ctl02$TireSearchResults$hypOriginalFrontEquipment&#39;,&#39;&#39;)"></a></span></p>
    <p class="equipment-right">
        <span id="p_lt_zoneContent_pageplaceholder_p_lt_ctl02_TireSearchResults_lblOriginalFrontEquipmentCount">**We found <strong>@Count</strong> result(s) that fit your vehicle.</span>**
    </p>
</div>
<div id="p_lt_zoneContent_pageplaceholder_p_lt_ctl02_TireSearchResults_divOriginalRearEquipment" class="equipment" style="display:none;">
    <p class="equipment-left">
        <span id="p_lt_zoneContent_pageplaceholder_p_lt_ctl02_TireSearchResults_lblOriginalRearEquipmentHeader">Original Equipment-Rear: </span>
        <span class="equipment-num">
            <a id="p_lt_zoneContent_pageplaceholder_p_lt_ctl02_TireSearchResults_hypOriginalRearEquipment" href="javascript:__doPostBack(&#39;p$lt$zoneContent$pageplaceholder$p$lt$ctl02$TireSearchResults$hypOriginalRearEquipment&#39;,&#39;&#39;)"></a></span></p>

这是我的断言截图

基本上我试图断言,如果响应包含文本 "We found @Count result(s) that fit your vehicle." 则该请求失败,但不知何故它总是被通过。

我尝试使用文本响应、响应消息和文档(文本)选项,但它无法使用任何选项。

我错过了什么吗?请建议。谢谢

我能够通过将模式匹配规则从包含更改为子字符串来解决这个问题。

根据How to Use JMeter Assertions in Three Easy Steps文章:

The Pattern can be either be:

  • a “string” for “Equals” or “Substring” clauses

  • a “Perl5-style” Regular Expression for “Contains” or “Matches” clauses

因此,假设您设置了 Contains 模式,JMeter 会将您的模式视为 Perl-compatible regular expression。因此,您需要在模式中使用反斜杠转义括号,以使其按预期工作:

We found <strong>@Count</strong> result\(s\) that fit your vehicle.</span>

参考文献: