如何检查属于多个元素的属性是否具有多个值之一

问题描述 投票:0回答:1

我正在尝试测试由 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
,但我不知道如何处理它。

javascript cypress
1个回答
0
投票

我从未使用过 cypress,但如果你想检查所有 3 个可能的值是否都存在,无论顺序如何,AFAIS 最简单的尝试就是检查是否存在:

cy.get('.wrapper a[title="value 1"]');
cy.get('.wrapper a[title="value 2"]');
cy.get('.wrapper a[title="value 3"]');
© www.soinside.com 2019 - 2024. All rights reserved.