在相同元素可能会更改为不同 ID或名称取决于许多因素,我将能够对此元素做出准确的断言。Nightwatchjs可以根据参考准确地执行断言吗?
Doest nighwatchjs允许做一个基于相对位置的断言,就像可以做SAHI一样吗? (左边这个元素...,下一个div等)
我想避免Xpath解决方案,它基于元素类型(div,id,name等),如果我将它设置为all类型:
//*[contains(text(),'hello world')]
我会得到许多事件,无法知道哪一个我试图断言。
e.g:运行在同一个页面上相同的测试,我就能够找到这个“世界你好”,即使DIV ID发生变化或其他因素。
<div id="homebutton">
<p>
<a href=#>
<span name="hm">Home</span>
<a>
</p>
</div>
<div id=[0-9]>
<p>
<a href=#>
<span name="hw">hello world</span>
<a>
</p>
</div>
[...]
<div id=[0-9]>
<p>
<a href=#>
<span name="hw">hello world</span>
<a>
</p>
</div>
<div id="logoutbutton">
<p>
<a href=#>
<span name="lo">Logout</span>
<a>
</p>
</div>
测试例如:断言元素包含字符串“Hello World”,不是一个这是附近的注销按钮,但其中之一是附近的home键。
你可以只有一个基于ID的选择器?另外请记住,ID选择器不应以数字开头以实现向后兼容性 - https://developer.mozilla.org/zh-CN/docs/Web/HTML/Global_attributes/id –