根据与 Cypress 在同一行中的单元格的内容断言单元格的内容

Assert content of cell based on content of a cell in the same row with Cypress

我刚开始使用 Cypress 进行测试自动化,看看我是否喜欢它,但我 运行 遇到了一个小问题。我想根据同一行中另一个单元格中的值来断言单元格的内容。在下面的示例中,第一行包含已完成注册的用户,单元格已全部填充。在第二行,可以看到用户尚未完成的新帐户。名字和姓氏等单元格仍然是空的。展示: - 现在我想验证第三列中包含 'usermanagementtest@test.com' 的行的第一个单元格是否包含“-”。我无法知道这将显示在哪一行。

我首先断言有一个包含给定电子邮件地址的可见单元格:

cy.get('.module-user--list tr').find('td').contains('usermanagementtest@lukkien.com').should('be.visible')

但现在我想声明同一行第一列的值。

<tbody>
        <tr>
            <td>John</td>
            <td>Doe</td>
            <td>j.doe@test.com</td>
            <td>0321654987</td>
        </tr>        
        <tr>
            <td>-</td>
            <td>-</td>
            <td>usermanagementtest@test.com</td>
            <td>-</td>
        </tr>       
</tbody>

在一位同事的帮助下,我通过以下方式实现了这一目标:

cy.get('.module-user--list tr').find('td').contains('usermanagementtest@test.com').prev().prev().should('contain', '-')

另一种方法是获取父元素并从那里找到方法:

cy.get('.module-user--list tr').find('td').contains('usermanagementtest@test.com').parent().as('row')
cy.get('@row').find('td:nth-child(1)').should('contain', 'foo')