首页 文章

基于赛普拉斯同一行中单元格的内容确定单元格内容

提问于
浏览
1

我刚开始使用赛普拉斯进行测试自动化,看看我是否喜欢它,但我遇到了一个小问题 . 我想基于同一行中另一个单元格中的值来断言单元格的内容 . 在下面的示例中,第一行包含已完成注册的用户,单元格全部填充 . 在第二行,可以看到用户尚未完成的新帐户 . 名字和姓氏等单元格仍为空 . 显示: - 现在我想验证第三列中包含'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>

1 回答

  • 2

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

    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')
    

相关问题