在HTTP请求之后使用XPath断言://ul/@class
,断言返回:
success_message_1=links
success_message_2=accordion vertnav vertnav-top grid-full
success_message_3=grid-full classic
success_message_4=checkout-types
success_message_5=links
success_message_matchNr=5
它缺少一个元素,恰好是我需要找到的成功消息。成功消息的结构是:
<ul class="messages"><li class="success-msg"><ul><li>Message</li></ul></li></ul>
使用//li[@class="success-msg"]
奇怪地定位该项目不会返回任何内容。使用jQuery我做了一个简单的jQuery('ul')
,它匹配所有<ul>
,包括丢失的。{/ p>
我已经检查了响应,并且响应中确实存在成功消息,但为什么我不能用XPath选择它?
答案 0 :(得分:0)
正确的XPath表达式,如果你需要获取“消息”“vanilla”XPath选择器将看起来像
//li[@class='success-msg']/ul/li/text()
如果您的页面不符合XML / XHTML,则可能需要在XPath断言中启用“使用整洁”框。
特别是对于XPath之后的代码断言对我有用:
//li/text()='Message'
您可能希望将XPath Extractor合并器与Debug Sampler和View Results Tree侦听器一起使用,以查看XPath查询的输出是什么,一旦您获得“true” - 查询是可以在断言中使用。