我正在尝试运行一个简单的负载测试,但是我的一些XPath断言失败了,我无法弄清楚原因。以下是html示例:
<div class="g1260">
<h1 class="top-head">
<div id="ctl00_mainContent_ctl00">
INVESTMENT CONSULTANTS
</div>
</h1>
</div>
这是我的XPath:
//div[@id="ctl00_mainContent_ctl00" and contains(text(),"INVESTMENT CONSULTANTS")]
断言失败,即使当我查看结果树中的响应时,元素就在那里。
我也尝试过XPaths
//div[@class="g1260"]/h1[@class="top-head"]/div
失败了,
//div[@class="g1260"]/h1[@class="top-head"]
传递。
所有上述XPath在开发人员控制台中都可以正常工作,但在JMeter中失败。这是怎么回事?
答案 0 :(得分:2)
我无法重现您的问题,调查XPath Tester mode的View Results Tree listener:
此外,您的表达式仅检查节点是否存在,如果您需要测试文本是否等于INVESTMENT CONSULTANTS
,则需要修改XPath表达式,如下所示:
normalize-space(//div[@id="ctl00_mainContent_ctl00"]/text())='INVESTMENT CONSULTANTS'
根据您的回复性质,您可能(或可能不)需要勾选Use Tidy
框,如果您使用的是Tidy,请尝试这两个选项 - 检查 jmeter.log 文件对于任何可疑的条目。
如果上述步骤无效 - 分享您的完整回复和断言要求,我们会尝试提供最合适的配置。
在此期间,请查看此XPath Tutorial