在Magellan / Nightwatch中,我们如何断言元素出现在另一个元素之前?

时间:2017-07-27 22:10:58

标签: nightwatch.js magellan

例如,如果用户有礼品卡,我们想断言礼品卡部分是第一位的:

<section id="gift-card-section"> ... </section>
<section id="credit-card-section"> ... </section>

否则,我们要声明信用卡部分是第一位的。如何在Magellan / Nightwatch中完成?

我的想法只是让N中的N-th child ...并断言N1&lt; N2或其他方式。这是如何在Magellan / Nightwatch中完成的?

1 个答案:

答案 0 :(得分:1)

这是使用XPATH的一个很好的例子。 明确的,如果你知道这些应该是第一和第二部分元素。

browser
.useXpath().assert.attributeContains('(//section)[1]', 'id', 'gift-card-section');
.useXpath().assert.attributeContains('(//section)[2]', 'id', 'credit-card-section');

或者,如果他们不需要订购,并且他们在DOM中处于同一级别(如果他们是兄弟姐妹),您可以使用属性equals:

browser
.useXpath().assert.attributeEquals("//section[@id='credit-card-section']/following-sibling:://section[@id='gift-card-section']", "id", "credit-card-section");

第二个选项有点多余,但如果您在Nightwatch中使用XPATH,还有很多其他选项。