在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')
})
})
})
最佳答案
有多种方法可以执行此操作,但是在这种情况下,contains()
函数是最简单的:
cy.get('table').contains('td', 'jacobs');
这将获取
table
元素,并断言它包含带有td
文本的jacobs
标记。值得一提的是,
contains()
也作为一个选择,并且在典型 Cypress 的方式,你可以继续链断了,就像这样:cy.get('table').contains('td', 'jacobs').should('be.visible');
cy.get('table').contains('td', 'jacobs').then(elem => {
// Do something with this specific element...
});
// etc...
关于javascript - 如何在Cypress.io测试中获取显示在表<td>中的数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51875052/