如何在Cypress.io测试中获取显示在表中的数据?

时间:2018-08-16 10:38:34

标签: javascript cypress

在Cypress.io测试中,在应用过滤器后检查表中显示的“数据”时,它抛出“ CypressError:超时重试:无法读取未定义的属性'eq'”。有人可以在下面的测试中建议如何解决问题吗?下面添加了表格HTML图像。

describe('Filter Test', function() {
    it.only('Check if the records are filtered successfully', function() {
        cy.visit('http://www.seleniumeasy.com/test/table-search-filter-demo.html')          
        cy.get('button').contains('Filter').click()
        cy.get('input[placeholder="Username"]').type('jacobs')  
        cy.get('table').should(($tr) => {
        const $tds = $tr.find('td') // find all the tds
        expect($tds.cells.eq(0)).to.contain('jacobs')   
        })

    })      

})

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:2)

有多种方法可以执行此操作,但是在这种情况下,contains()函数是最简单的:

cy.get('table').contains('td', 'jacobs');

这将获取table元素并断言它包含带有文本td的{​​{1}}标记。


值得注意的是,jacobs还可以充当选择器,并且可以以典型的赛普拉斯方式继续链接它,就像这样:

contains()