例如,如果用户有一张礼品卡,我们要断言礼品卡部分排在第一位:
<section id="gift-card-section"> ... </section>
<section id="credit-card-section"> ... </section>
否则,我们要断言信用卡部分是第一位的。在麦哲伦 / 守夜人中如何做到这一点?
我的想法只是让N
...N-th child
并断言N1
<N2
或相反。这是如何在麦哲伦 / 守夜人中完成的?
例如,如果用户有一张礼品卡,我们要断言礼品卡部分排在第一位:
<section id="gift-card-section"> ... </section>
<section id="credit-card-section"> ... </section>
否则,我们要断言信用卡部分是第一位的。在麦哲伦 / 守夜人中如何做到这一点?
我的想法只是让N
...N-th child
并断言N1
<N2
或相反。这是如何在麦哲伦 / 守夜人中完成的?
这是使用 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,还有很多其他选项。