我正在尝试测试由 3 个元素共享的属性是否具有多个值之一。这是 html:
<div class="wrapper">
<a title="value 1"</a>
<a title="value 2"</a>
<a title="value 3"</a>
</div>
我需要一种方法来断言所有三个元素的
title
属性将具有 3 个值之一,因为它们的顺序将来可能会改变,但我只需要确保它们在那里。
这是我尝试过但对我不起作用的方法:
cy.get('.wrapper')
.children().as('socialLinks');
cy.get('@socialLinks')
.should('have.attr', 'title').as('title');
expect('@title').to.contain.oneOf('value 1', 'value 2', 'value 3');
我怀疑它可能需要一个
for-loop
,但我不知道如何处理它。
我从未使用过 cypress,但如果你想检查所有 3 个可能的值是否都存在,无论顺序如何,AFAIS 最简单的尝试就是检查是否存在:
cy.get('.wrapper a[title="value 1"]');
cy.get('.wrapper a[title="value 2"]');
cy.get('.wrapper a[title="value 3"]');