【问题标题】:Getting checkboxes checked in Cypress if id is auto-generated如果 id 是自动生成的,则在 Cypress 中检查复选框
【发布时间】:2020-03-03 22:24:12
【问题描述】:

有一个代码(不是我写的),其中包含系统生成的每个表格行中每个复选框的唯一 ID。它如下所示,为添加的每一行以及路径自动生成“12345”。

问题是,如何指定在 cypress 中进行测试,我要检查哪一行。

我正在测试的代码:

<tr class="" xxx-yyy="document-aaa"><td><input id="12345" type="checkbox"><label for="12345"></label></td><td xxx-yyy="document-bbb">word_document.docx</td><td class="text-right"><button class="text-grey-dark" xxx-yyy="delete-document"><svg focusable="false" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 32 32" aria-hidden="true" class="inline-block" style="will-change: transform;"><path d="Ab13457GHT45"></path><path d="Zxf-67-HJKSx7"></path></svg> delete</button></td></tr>

我在赛普拉斯工作的唯一选择是使用“第一个”,但这不允许我检查第二个或多个复选框。

cy.get('[xxx-yyy="document-aaa"]')
      .first()
      .find('[type="checkbox"]')
      .check({ force: true });

【问题讨论】:

    标签: checkbox cypress


    【解决方案1】:

    您可以使用eq

    cy.get('tbody>tr').eq(0)    // Yield first 'tr' in 'tbody'
    cy.get('ul>li').eq(4)       // Yield fifth 'li' in 'ul'
    

    好的做法是to add within 将区域缩小到仅该列表/表格,然后找到某一行并选中复选框。

    【讨论】:

    • 谢谢你,eq 工作。 inside也是一个好点,还没想到,但它会更精确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-17
    • 2015-03-07
    • 1970-01-01
    相关资源
    最近更新 更多